EXCEL/期間内の金額集計
◇-?EXCEL/期間内の金額集計-さき-11/14-14:20(74)-No.306883 ┗?!Re:EXCEL/期間内の金額集計...-白茶-11/14-15:43(73)-No.306892
▲このページのトップに戻る
▲このページのトップに戻る
306883 | EXCEL/期間内の金額集計 | さき URL | 2005/11/14-14:20 |
メーカー名:富士通 OS名:Windows2000 パソコン名:610Nu2 -- http://pasokoma.jp/bbsa/lg306042.html からの引き続きの質問 (似た現象に陥っており質問をする場合も含みます) 白茶様、ご回答ありがとうございます。 A列に空白がまぎれていますので 短い方ですよね。 ですが、どうやら上手くいきません。 =SUMPRODUCT((MID(A1:A30,5,2)="11")*B1:B30)は C列に入れれば良いのでしょうか!? |
▲このページのトップに戻る
306892 | Re:EXCEL/期間内の金額集計 | 白茶 | 2005/11/14-15:43 |
記事番号306883へのコメント さきさんは No.306883「EXCEL/期間内の金額集計」で書きました。 あらら。 >C列に入れれば良いのでしょうか!? 何処でも良いのですよ。 まずは、式の仕組を理解して、何処が引っ掛かっているのか 突き止めましょう。 式を簡単に解説してみます。 別々に考えると解ると思いますが、 「=MID(A1,5,2)」はA1の文字列から、5文字目、6文字目を抜き出します。 もし、A1が「20051101」なら、この関数の返り値は「11」という文字列です。 したがって「=MID(A1,5,2)="11"」という式の返り値は、論理値「TRUE」。 論理値を演算子「+-*/」を用いた式に組み込むと、 「TRUE」は「1」、「FALSE」は「0」になります。 したがって 「(MID(A1,5,2)="11")*B1」という式は、 「TRUE*B1」すなわち、「1*B1」という式になります。 SUMPRUDUCTは配列の要素同士の積の合計を返しますから、 「(MID(A1,5,2)="11")*B1」と同じ計算を1から30行目に対して一気に掛け、 その結果を合計しているのです。 上記を踏まえて、試しに、 C1に =MID(A1,5,2) D1に =C1="11" E1に =D1*B1 として30行目までコピーしてみて下さい。 何処がおかしくなっているでしょうか? 予想ではA列のデータ形式の都合で、 MID関数が欲しい返り値を返していないからだと思っています。 「20051101」が数値または文字列として入力されているかどうか。 とか・・・。 |
何か一言(本ページで参考になったならないを含めて残してあります)
◎:解決 ○:参考になった ×:参考にならなかった !:アドバイスあり
参考 | 回数 | 投稿日時 | 何か一言 |
---|