- ベストアンサー
Excelの関数に詳しい方!教えてください
Excelで有給休暇の管理を行おうとしています。 うちの会社には通常の有給の他に午前有給と午後有給があります。 午前有給、午後有給は共に0.5日として計算されます。 今、A列に有給休暇を入れる欄があり、 通常有給を数字の1 午前有給を数字の2 午後有給を数字の3 とうちの会社では表しているのですが、 A1に1・・・通常有給 A2に2・・・午前有給 A3に3・・・午後有給 と入力し、合計有給日数を2(1+0.5+0.5)としたいのですが、 どのように関数式を入れていいのか分かりません。 COUNTIFやCOUTN式で何とかしようとしたのですが、 うまくいきませんでした。 Excelに詳しい方、どうか教えてください。
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
countif関数を使うなら =COUNTIF(A1:A10,1)+COUNTIF(A1:A10,2)*0.5+COUNTIF(A1:A10,3)*0.5 はどうですか? 範囲指定の 「A1:A10」 は適当に変更してください。
その他の回答 (6)
- suekun
- ベストアンサー率25% (369/1454)
正しいセル番地が示されたので、そのまま使えるように =COUNTIF(A2:A32,">1")*0.5+COUNTIF(A2:A32,1) 2、3、以外の数値も使用していれば問題ですが 1よりの大きい数と捉えてよいなら、条件は ">1" で済みます。
- mu2011
- ベストアンサー率38% (1910/4994)
一例です。 =SUMPRODUCT((A2:A32=1)*1+(A2:A32=2)*0.5+(A2:A32=3)*0.5)
お礼
SUMPRODUCT関数、初めて知りました。とても勉強になります。 早速試してみます。ありがとうございました。
- suekun
- ベストアンサー率25% (369/1454)
あっ、質問を勘違いしてましたね。すいません。 =COUNTIF(A1:A3,">1")*0.5+COUNTIF(A1:A3,1) 範囲は実際に合わせて直して下さい。
お礼
回答ありがとうございます。 2,3の時に0.5をかけてやってみます!
- grumpy_the_dwarf
- ベストアンサー率48% (1628/3337)
countif関数でヤルなら、=countif(A:A,"=1")で「A列が1である」個 数をカウントします。=countif(A:A,1)はいいけど=countif(A:A,=1) はダメ。同様にA列が2や3の場合も数え、係数をかけて足してやれば いいだけですね。 =countif(A:A,"=1")+countif(A:A,"=2")*0.5+countif(A:A,"=3")*0.5 私の好きなsumproduct関数で書くと、 =sumproduct((A:A=1)*1+(A:A=2)*0.5+(A:A=3)*0.5) です。
お礼
なるほど!2と3の時は0.5をかけて半日にすればいいのですね! 早速試してみます。 どうもありがとうございます。 sumproduct関数、初めて知りました。とても勉強になりました。 ありがとうございます。
- suekun
- ベストアンサー率25% (369/1454)
統計関数を利用するなら =A1+(COUNT(A2:A3)*0.5) と言うのもありますね。
- suekun
- ベストアンサー率25% (369/1454)
普通に力技で済ませるなら、 =A1+IF(A2=2,0.5,0)+IF(A3=3,0.5,0) なんですけどね。
補足
すいません。質問の仕方が悪かったかもしれません。 A1に1、A2に2というのはあくまで例であって、 実際の管理表のエクセルにはA2~A32まで一月分の欄が用意されていて、 有給を取った日だけ1や2を入力するという形式になっています。 それをカウント?合計?した数値を求めたいと思っています。
お礼
なるほど!2と3の時は0.5をかけて半日にすればいいのですね! 早速試してみます。 どうもありがとうございます。