• ベストアンサー

Excelの関数に詳しい方!教えてください

Excelで有給休暇の管理を行おうとしています。 うちの会社には通常の有給の他に午前有給と午後有給があります。 午前有給、午後有給は共に0.5日として計算されます。 今、A列に有給休暇を入れる欄があり、 通常有給を数字の1 午前有給を数字の2 午後有給を数字の3 とうちの会社では表しているのですが、 A1に1・・・通常有給 A2に2・・・午前有給 A3に3・・・午後有給 と入力し、合計有給日数を2(1+0.5+0.5)としたいのですが、 どのように関数式を入れていいのか分かりません。 COUNTIFやCOUTN式で何とかしようとしたのですが、 うまくいきませんでした。 Excelに詳しい方、どうか教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • s_end
  • ベストアンサー率41% (176/425)
回答No.3

countif関数を使うなら =COUNTIF(A1:A10,1)+COUNTIF(A1:A10,2)*0.5+COUNTIF(A1:A10,3)*0.5 はどうですか? 範囲指定の 「A1:A10」 は適当に変更してください。

lickdog99
質問者

お礼

なるほど!2と3の時は0.5をかけて半日にすればいいのですね! 早速試してみます。 どうもありがとうございます。

その他の回答 (6)

  • suekun
  • ベストアンサー率25% (369/1454)
回答No.7

正しいセル番地が示されたので、そのまま使えるように =COUNTIF(A2:A32,">1")*0.5+COUNTIF(A2:A32,1) 2、3、以外の数値も使用していれば問題ですが 1よりの大きい数と捉えてよいなら、条件は ">1" で済みます。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.6

一例です。 =SUMPRODUCT((A2:A32=1)*1+(A2:A32=2)*0.5+(A2:A32=3)*0.5)

lickdog99
質問者

お礼

SUMPRODUCT関数、初めて知りました。とても勉強になります。 早速試してみます。ありがとうございました。

  • suekun
  • ベストアンサー率25% (369/1454)
回答No.5

あっ、質問を勘違いしてましたね。すいません。 =COUNTIF(A1:A3,">1")*0.5+COUNTIF(A1:A3,1) 範囲は実際に合わせて直して下さい。

lickdog99
質問者

お礼

回答ありがとうございます。 2,3の時に0.5をかけてやってみます!

回答No.4

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) です。

lickdog99
質問者

お礼

なるほど!2と3の時は0.5をかけて半日にすればいいのですね! 早速試してみます。 どうもありがとうございます。 sumproduct関数、初めて知りました。とても勉強になりました。 ありがとうございます。

  • suekun
  • ベストアンサー率25% (369/1454)
回答No.2

統計関数を利用するなら =A1+(COUNT(A2:A3)*0.5) と言うのもありますね。

  • suekun
  • ベストアンサー率25% (369/1454)
回答No.1

普通に力技で済ませるなら、 =A1+IF(A2=2,0.5,0)+IF(A3=3,0.5,0) なんですけどね。

lickdog99
質問者

補足

すいません。質問の仕方が悪かったかもしれません。 A1に1、A2に2というのはあくまで例であって、 実際の管理表のエクセルにはA2~A32まで一月分の欄が用意されていて、 有給を取った日だけ1や2を入力するという形式になっています。 それをカウント?合計?した数値を求めたいと思っています。

関連するQ&A