2016年5月27日金曜日

【Googleスプレッドシートで自動採番をプチ改良】

047.【受付番号を自動採番】では以下の式を紹介しました。

C2セル:=TEXT(B2,"yymmdd")&"-"&TEXT(COUNTIF(B$2:B2,B2),"00")

この式は、受付日が入力されている行に関しては問題ないのですが、受付日が入力されていない行は以下のように表示されるのでカッコ悪いです。


そこで、IF関数 を使って、受付日が入力されていない時は何も表示されないように変更します。

C2セル:=IF(B2="","",TEXT(B2,"yymmdd")&"-"&TEXT(COUNTIF(B$2:B2,B2),"00"))


C2セルを他のセルにもコピーすれば、受付日が入力されていない行には何も表示されなくなります。




Googleスプレッドシートでも、受付日が入力されていない行の受付番号はカッコ悪いです。

C2セル:=TEXT(B2,"yymmdd")&"-"&TEXT(COUNTIF(B$2:B2,B2),"00")


そこで、IF関数 を使って、受付日が入力されていない時は何も表示されないように変更します。

C2セル:=IF(B2="","",TEXT(B2,"yymmdd")&"-"&TEXT(COUNTIF(B$2:B2,B2),"00"))


C2セルを他のセルにもコピーすれば、受付日が入力されていない行には何も表示されなくなります。


ではでは。


2016年5月26日木曜日

【Googleスプレッドシートで受付番号を自動採番】

受付日ごとに受付番号を自動採番する方法を紹介します。この方法の肝は、受付日ごとに番号を計算する部分で、具体的には、COUNTIF関数 を使って同じ受付日が何個あるかを計算しています。

C2セル:=TEXT(B2,"yymmdd")&"-"&TEXT(COUNTIF(B$2:B2,B2),"00")


C2セルをC6セルまでコピーすると、受付日ごとに受付番号がふられていますね。




Googleスプレッドシートでも同じ方法が使えます。

C2セル:=TEXT(B2,"yymmdd")&"-"&TEXT(COUNTIF(B$2:B2,B2),"00")


C2セルをC6セルまでコピーすると、受付日ごとに受付番号がふられます。


ではでは。


2016年5月25日水曜日

【Googleスプレッドシートで夜勤の勤務時間を計算】

045.【時給の給与計算】ですが、夜勤の勤務時刻(21:00出社 5:30退社)を以下のように入力すると給与は正しく計算されません。


一番簡単な対応は、B5セルに「5:30」ではなく、1日(24時間)足して「29:30」と入力してもらうことです。


これだとちゃんと計算されます。


もう一つの方法は、勤務時間の計算式を以下のように入力します。出社時刻が退社時刻が大きい場合、1日(24時間)足す処理を入れています。

D5セル:=B5-A5-C5+IF(A5>B5,1,0)


これでもちゃんと計算されます。




Googleスプレッドシートでも同じ方法が使えます。夜勤の勤務時刻(21:00出社 5:30退社)を以下のように入力すると給与は正しく計算されません。


一番簡単な対応は、B5セルに「5:30」ではなく、1日(24時間)足して「29:30」と入力してもらうことです。


これだとちゃんと計算されます。


もう一つの方法は、勤務時間の計算式を以下のように入力します。出社時刻が退社時刻が大きい場合、1日(24時間)足す処理を入れています。

D5セル:=B5-A5-C5+IF(A5>B5,1,0)


これでもちゃんと計算されます。


ではでは。


2016年5月24日火曜日

【Googleスプレッドシートで時給の給与計算】

044.【24時間以上を表示】で計算した合計時間(D6セル)と時給(F1セル)から給与を計算してみましょう。

F2セル:=D6*F1


しかしながら、計算結果は「1250」となり、思った通りには計算されていません。


実は、「30:00」と表示されている合計時間ですが、数値としては1日を1と計算されているためです。よって、日給で計算するならこのままでよいのですが、時給で計算する場合は24倍する必要があります。

F2セル:=D6*F1*24


今度は給与が正しく計算されましたね。


ちなみに、書式を金額表示にしたい場合は「Home」→「数値」→「通貨表示形式」と進みます。


給与が通貨表示形式に変更されました。




Googleスプレッドシートでも同じ方法で計算できます。合計時間(D6セル)と時給(F1セル)から給与を計算してみます。

F2セル:=D6*F1


しかし、計算結果は「1250」となり、思った通りには計算されていません。


Excelの時と同じく、「30:00」と表示されている合計時間も数値としては1日を1と計算されているため、時給で計算する場合は24倍する必要があります。

F2セル:=D6*F1*24


今度は給与が正しく計算されましたね。


書式を金額表示にしたい場合は「表示形式を通過に設定」ボタンをクリックします。ただし、自動的に小数表示になってしまいます。


小数点以下を表示したくない場合は、「小数点以下の桁を減らす」ボタンを2回クリックします。


ではでは。


2016年5月23日月曜日

【Googleスプレッドシートで24時間以上を表示】

SUM関数 を使って時間を合計した時、24時間以上が正しく表示されなくて困ったことはありませんでしょうか。


こういう時はセルの書式設定を変更します。まず、対象となるセルを右クリックし「セルの書式設定」を選択します。


「分類」のリストボックスから「ユーザー定義」を選択し、「種類」の入力ボックスに「[h]:mm」と入力します。


すると、24時間以上の時間が正しく表示されます。




Googleスプレッドシートでも、SUM関数で時間を合計した場合、24時間以上の時間が正しく表示されないことがあります。



こういう時は、対象となるセルを選択した後、メニューから「表示形式」→「数字」→「経過時間」と進みます。


すると、24時間以上の時間が正しく表示されます。


ただし、「分」まで表示すれば十分なのに「秒」まで表示されています。そこで、「秒」を表示したくない方は、メニューから「表示形式」→「数字」→「表示形式の詳細設定」→「その他の日付や時刻の形式...」と進みます。


「秒(01)」をクリックします。


「削除」をクリックします。


「秒(01)」が削除されましたが、「分(01)」の後に入っている「:」も忘れずに削除しましょう。


「適用」をクリックします。


「秒」が表示されなくなりましたね。


ではでは。


2016年5月22日日曜日

【Googleスプレッドシートでランダムに抽選】

今回は、複数の候補者の中からランダムに抽選して当選者を選ぶ方法を紹介します。前述した RAND関数RANK関数 を使ってもできますが、これに一番ふさわしい関数は RANDBETWEEN関数 です。例えば、042.【ランダムに並び替え】のサンプルのE列に当選者を追加した場合は、E2セルに以下の式を入力します。

 =RANDBETWEEN(1,4)

この場合、1から4までの整数の乱数を返します。
第1引数:最小値
第2引数:最大値


この例では「3」が表示されていますね。


これに、INDEX関数 を使ってもう一工夫すると、当選者の氏名を表示することもできます。

=INDEX(B2:B5,RANDBETWEEN(1,4))

第1引数:配列
第2引数:行番号


こちらの方が分かり易くなりますね。




Googleスプレッドシートでも RANDBETWEEN関数 を使って同じことができます。

=RANDBETWEEN(1,4)

第1引数:最小値
第2引数:最大値



また、INDEX関数 を使って当選者の氏名を表示することもできます。

=INDEX(B2:B5,RANDBETWEEN(1,4))

第1引数:配列
第2引数:行番号



ではでは。