アプリ版:「スタンプのみでお礼する」機能のリリースについて

品名No.毎の平均期間の算出を希望致します。

収穫日(D列)と購入日(C列)から期間を算出し(算出結果:E列)、
算出結果(E列)を活かし、品名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)&"ヶ月"

 A列   B列   C列      D列      E列  
品名NO商品名購入日  収穫日    期間
000101みかん2005/10/302005/10/010年1ヶ月
000101みかん2005/12/202005/12/010年1ヶ月
000101みかん2005/12/192005/12/010年1ヶ月
000101みかん2006/01/112006/01/010年1ヶ月
000101みかん2006/01/112006/01/010年1ヶ月
000101みかん2006/11/022006/11/010年1ヶ月
000101みかん2006/11/022006/11/010年1ヶ月
000101みかん2006/11/062006/11/010年1ヶ月
000103ばなな2007/10/252007/10/010年1ヶ月
000103ばなな2007/10/252007/10/010年1ヶ月
000103ばなな2007/10/252007/10/010年1ヶ月
000103ばなな2008/08/222008/07/010年2ヶ月
000103ばなな2010/11/182010/11/010年1ヶ月
000103ばなな2010/12/222010/12/010年1ヶ月
000103ばなな2004/12/272004/12/010年1ヶ月
000103ばなな2005/01/122005/01/010年1ヶ月
000103ばなな2010/12/012010/11/010年2ヶ月
000104りんご2003/10/082001/07/012年4ヶ月
000104りんご2004/06/011998/04/016年3ヶ月
000104りんご2005/09/012000/04/015年6ヶ月
000104りんご2005/12/142005/12/010年1ヶ月
000104りんご2005/12/192005/12/010年1ヶ月


フィルタをかけて抽出していけば良いのですが、数が大量すぎて手作業では
膨大な時間がかかってしまいます。

本当に分からなくご質問した次第です。
よろしくお願い致します。

A 回答 (3件)

商品番号が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)&"ヵ月"
    • good
    • 0
この回答へのお礼

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

お礼日時:2011/08/11 08:42

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))&"ヶ月"

なお、平均で小数点以下の月数が出た場合は切捨てています。
「DATEIF関数の算出結果の合計平均を出」の回答画像3
    • good
    • 0
この回答へのお礼

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

お礼日時:2011/08/11 08:46

エクセルでは日付はシリアルNo.という整数です。

(時分秒は少数)
日付どうしの引き算で期間が求められます。
求めた結果は表示形式を数値にすると日数で、
日付にすると年月日の表示になりますが 大の月、小の月で紛らわしいですね
    • good
    • 0
この回答へのお礼

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

お礼日時:2011/08/11 08:44

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!