ANo.2,3です。
>数式のなかでA2セルも参照して算出していたのですね。
はい、その通りです。
只、毎回毎回、
日時が○月 ×日の合計
と入力するのは煩わしいかと思いましたので、
11/26
と入力しても、
日時が11月 26日の合計
と入力しても、どちらの入力方法で入力されても構わない方法を考えました。
まず、次の操作を行って下さい。
Sheet1のA2セルを右クリック
↓
現れた選択肢の中にある[セルの書式設定]をクリック
↓
現れた「セルの書式設定」ダイアログボックスの中にある[表示形式]タブをクリック
↓
「分類」欄の中にある[ユーザー定義]をクリック
↓
「種類」欄に
"日付が"m"月 "d"日の合計"
と入力
↓
「セルの書式設定」ダイアログボックスの[OK]ボタンをクリック
次に、合計を表示させるセルに次の関数を入力して下さい。
=SUMPRODUCT(SUBSTITUTE(SUBSTITUTE(0&INDEX($A:$A,ROW($A$3)+1):INDEX($A:$A,MATCH("*?",$A:$A,-1)),"円",),"0-","-")*(LEFT(INDEX($B:$B,ROW($A$3)+1):INDEX($B:$B,MATCH("*?",$A:$A,-1)),LEN(TEXT($A$2,"日時がm月 d日の合計"))-6)=MID(TEXT($A$2,"日時がm月 d日の合計"),4,LEN(TEXT($A$2,"日時がm月 d日の合計"))-6)))
以上です。
尚、WEBクエリ取り込みされて来た日時のデータが、1月2日の様に月や日にちが1桁の際に、もしも、01月02日の様に0を付けた2桁表示となっている場合には、上記の関数の中における
"日時がm月 d日の合計"
となっている箇所の全てを
"日時がmm月 dd日の合計"
に変更して
=SUMPRODUCT(SUBSTITUTE(SUBSTITUTE(0&INDEX($A:$A,ROW($A$3)+1):INDEX($A:$A,MATCH("*?",$A:$A,-1)),"円",),"0-","-")*(LEFT(INDEX($B:$B,ROW($A$3)+1):INDEX($B:$B,MATCH("*?",$A:$A,-1)),LEN(TEXT($A$2,"日時がmm月 dd日の合計"))-6)=MID(TEXT($A$2,"日時がmm月 dd日の合計"),4,LEN(TEXT($A$2,"日時がmm月 dd日の合計"))-6)))
として下さい。
それから因みに、A2セルに行ったセルの書式設定と同様の操作を行って、「種類」欄に入力する内容を
##,#00 "円"
としますと、下の添付画像の様に合計金額も「『,』で3桁ごとに区切った数字+『 円』」の形式で表示・印刷されます。(表示が変わるだけで、データ自体は数値のままです)
お礼
言われた通りに行ったら簡単にできました。 ただ、関数が非常に長くて理解できず応用できそうにいので、 これから各関数の役割を勉強します。 是非聞きたいのですが、 このように複数の関数を組み合わせる時、 どのような数式にするか基準とかルールとかコツとかありますか? たくさんご回答いただき感謝致します。