• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:DATEIF関数の算出結果の合計平均を出す方法の件)

DATEIF関数の算出結果の合計平均を出す方法

このQ&Aのポイント
  • フィルタをかけて抽出していけば良いのですが、数が大量すぎて手作業では膨大な時間がかかってしまいます。本当に分からなくご質問した次第です。
  • 収穫日と購入日から期間を算出し、品名No.毎の期間平均を求めたいです。結果は000101⇒平均期間(0年01ヶ月)、000103⇒平均期間(0年01ヶ月)、000104⇒平均期間(2年10ヶ月)となります。
  • E列には=(DATEDIF(D4,C4+1,"Y")+(DATEDIF(D4,C4+1,"YM")=11))&"年"&MOD(DATEDIF(D4,C4+1,"YM")+(DATEDIF(D4,C4+1,"MD")>0),12)&"ヶ月"という関数が入っています。

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

  • ベストアンサー
  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.1

商品番号がK2セルに入っているなら、以下の式を入力すれば(E列の数式の算出方法に準じた計算)K2セルの平均が算出できます。 この場合、E列は不要で直接平均年月が表示できます。 =INT(SUMPRODUCT(($A$4:$A$1000=K2)*((DATEDIF($D$4:$D$1000,$C$4:$C$1000+1,"Y")+(DATEDIF($D$4:$D$1000,$C$4:$C$1000+1,"YM")=11))*12+MOD(DATEDIF($D$4:$D$1000,$C$4:$C$1000+1,"YM")+(DATEDIF($D$4:$D$1000,$C$4:$C$1000+1,"MD")>0),12)))/12/COUNTIF($A$4:$A$1000,K2))&"年"&INT(MOD((SUMPRODUCT(($A$4:$A$1000=K2)*((DATEDIF($D$4:$D$1000,$C$4:$C$1000+1,"Y")+(DATEDIF($D$4:$D$1000,$C$4:$C$1000+1,"YM")=11))*12+MOD(DATEDIF($D$4:$D$1000,$C$4:$C$1000+1,"YM")+(DATEDIF($D$4:$D$1000,$C$4:$C$1000+1,"MD")>0),12)))/12/COUNTIF($A$4:$A$1000,K2)),1)*12)&"ヵ月"

mimiga0s7
質問者

お礼

ありがとうございました。 提出する資料が無事作成出来ました。 私にはまだ解読出来ませんが1つ1つ解読して別の場面でも活かしていきたいと思います。 本当に助かりましたありがとうございます!!

その他の回答 (2)

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.3

G2:G4に品名NOを入れておきます。 で、H2に以下を…… =INT(SUMPRODUCT((DATEDIF(D$2:D$23,C$2:C$23,"M")+1)*(A$2:A$23=G2))/COUNTIF(A$2:A$23,G2)/12)&"年"&INT(MOD(SUMPRODUCT((DATEDIF(D$2:D$23,C$2:C$23,"M")+1)*(A$2:A$23=G2))/COUNTIF(A$2:A$23,G2),12))&"ヶ月" なお、平均で小数点以下の月数が出た場合は切捨てています。

mimiga0s7
質問者

お礼

画像まで添付して頂きご丁寧な回答ありがとうございます。 この方法も今後活かしていきたいと思います。 本当にありがとうございました!!

  • shinkami
  • ベストアンサー率43% (179/411)
回答No.2

エクセルでは日付はシリアルNo.という整数です。(時分秒は少数) 日付どうしの引き算で期間が求められます。 求めた結果は表示形式を数値にすると日数で、 日付にすると年月日の表示になりますが 大の月、小の月で紛らわしいですね

mimiga0s7
質問者

お礼

私も最初その方法で行ったのですが○○年12ヶ月という変な表示になってしまったりしたので、諦めました; ご回答ありがとうございます。

関連するQ&A

専門家に質問してみよう