• ベストアンサー

Excelの関数でできますか

いつもありがとうございます。 うまく説明ができません。 添付ファイルを見て確認お願いします。

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

  • ベストアンサー
回答No.3

下記数式の解説は難しいですが、一応やってみます =MMULT($E3:$G3,FREQUENCY($H$2:H$2,$B3:$C3)) です。 行っていることは、「頻度を算出してかけて足す」ということです。 D3セルを使用していないことに注意してください。 もう少し解説してみると頻度は配列を返し、行列積を求めています。 最終的には1行1列になります。 注意:配列を使いますので、日数Aと日数Bは隣り合わせになるように作業列を作るなどして変更してください。

その他の回答 (3)

  • 135ok
  • ベストアンサー率34% (26/75)
回答No.4

お望みどおりの回答になるかわかりませんが、作ってみました。 K3 =IF($A3="","",IF(K$2<=$B3,$G3*K$2,IF(K$2<=$D3,$G3*$B3+$H3*(K$2-$B3),IF(K$2<=$F3,$G3*$B3+$H3*($D3-$B3)+$I3*(K$2-$D3),"")))) 的外れの時は、読み流してください。

回答No.2

#1です 参照が間違ってました m(_ _)m =H$2*INDEX($E3:$G3,MATCH(1,FREQUENCY(H$2,$B3:$D3),0))

tatsuo78
質問者

補足

説明は文章で書きます。すみませんでした。 書いて頂いているものをコピーすると4のところで3414×4になりました。 3414×3+2635×1にしたいのです。 4のところでは 日数Aの3日+日数Bの1日という感じです。 なので5になれば 日数Aの3日+日数Bの2日    ・    ・    ・    ・ 7だと 日数Aの3日+日数Bの4日 3414*3+2635*4 8だと 日数Aの3日+日数B4日+日数B以上1日 3414*3+2635*4+2240 という感じです。 申し訳ありません。 よろしくお願いします。

回答No.1

説明は質問文でしてください 画像は補助的に使用してください 文字がつぶれて読めません。 たぶん、K3セルに =H$2*INDEX(E$3:G$3,MATCH(1,FREQUENCY(H$2,$B3:$D3),0)) 右へ下へオートフィル もっと、スマートにできそうですが、詳しく書かれていない(というか読めない)のでたたき台です。

関連するQ&A