[[20130918140418]] 『「ワイルドカード」を使用した「配列数式」を教え』(史) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『「ワイルドカード」を使用した「配列数式」を教えて下さい』(史)
先週より、配列数式に取り組み始めました配列数式初心者です。
配列数式にワイルドカードで条件を付けて式を考えてみました。
セルC-7に計算式{=SUM(IF((A2:A5="*"&A7&"*")*(B2:B5="*"&B7&"*"),C2:C5))}
を作成しましたが答えが出ません。
東京店の野菜合計の300がセルC-7に出る様にしたいのですが、正しい配列数式を教えて下さい。
宜しくお願い致します。
     A         B    C
1   店名      部門  売上
2 123:010東京店 001野菜 100
3 123:010東京店 002お魚 123
4 123:010東京店 003菓子 234
5 123:010東京店 001野菜 200
6
7 東京店         野菜

Excel2003 OS=xp


 今回の例の場合、ワイルドカードは使わないで済むが、念のため。
 比較演算子を使用した比較式の場合、ワイルドカードは使えない。

 今回のようにA7セル、B7セルに入力した文字が文字列の終わりにあればいい場合。
 (「123:010東京店A」のようなものは合計しない)
 =SUMPRODUCT((RIGHT(A2:A5,LEN(A7))=A7)*(RIGHT(B2:B5,LEN(B7))=B7)*C2:C5)

 文字列に含まれていればいい場合。
 (「123:010東京店A」も合計する)
 =SUMPRODUCT(ISNUMBER(FIND(A7,A2:A5))*ISNUMBER(FIND(B7,B2:B5))*C2:C5)
 (ねむねむ)

 ねむねむさんの方法が一番いいと思いますが、DSUM関数を使うという方法もあります。

       A       B    C
 1     店名     部門   売上
 2	123:010東京店	001野菜  100
 3	123:010東京店	002お魚  123
 4	123:010東京店	003菓子  234
 5	123:010東京店	001野菜  200
 6			
 7     店名     部門   売上
 8    *東京店    *野菜	

 C8セルに =DSUM(A1:C5,C7,A7:B8)

 (se_9)


ねむねむ様se-9様ありがとう御座いました。
早々に式を作成して見ました。
私の場合は、「文字列に含まれていればいい場合」の式が良かったです。
セルC−7に300と数字が出ました。
すごいですね!
どんな式なのか、ただ教えて頂いたのをそのまま記入しただけで意味は分かっていませんがこれから少しずつ勉強していこうと思います。
一人では、こんなすごい式は思い浮かばないと思いますが頑張ります。
本当に助かりました。
ありがとう御座いました。

 気がつかなくても調べる、勉強すれば出てきますよ。
https://www.excel.studio-kazu.jp/lib/e3h/e3h.html
 例えばここでもちゃーんと載ってます。

 (稲葉)

稲葉様ありがとう御座います。
やさしく書いてあるので分かりやすくて助かります。
ゆっくり読み込んでみます。
ありがとう御座いました。

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.