おジさん 学習帳

ごく普通のおじさんです 専門家ではありませんので 記事内容に付いては 過信なさらないようにお願いします

SUMPRODUCT 関数について その8

検索する文字列の一部が一致するデータを集計する

SUMPRODUCT_7_2.ods
 
この一覧の場合において
「商品名」欄に 「プレート(M)」「プレート(L)」・「スプーン(M)」「スプーン(L)」がある
これで 「プレート」や「スプーン」で 集計するパターン

SUMIF 関数の場合などは 条件値に「正規表現」を使う事が出来る
=SUMIF(商品名,".*スプーン.*",金額)
このように 条件欄に 「.*スプーン.*」と 正規表現を利用して入力する

しかし SUMIF 関数では 複数条件で集計できない

そこで 

SUMPRODUCT 関数で 一部一致の式の作り方

考え方は セルの中に 探している文字列が 見つかるかどうか?
セルの中に探している文字列があれば 一致している
ちょっと ややこしいが
 文字列を探す = FIND 関数
 文字列があれば 数値 文字列がない場合は エラーになる
  そこで エラーかどうかを調べる関数 ISERROR 関数を使う
 ISERROR 関数の場合 エラーの時に TRUE になる
  逆の答え エラーの場合が FALSE であって欲しいので NOT 関数を使う

NOT(ISERROR(FIND($K3,商品名)))


この式の解説は
 「商品名」と名前を付けたセル範囲で
 K3 セルに入力した「スプーン」という文字列があるセルは
 ISERROR 関数では FALSE 
 K3 セルに入力した「スプーン」という文字列が無いセルは
 ISERROR 関数では TRUE
 それを NOT 関数で 逆にする 
 
 この場合の FIND 関数は 本来の何番目にあるかを求めるのではなく
 FIND 関数が エラーになるか?ならないか? の判断のため
 
これを SUMPRODUCT 関数に入れる

=SUMPRODUCT((店舗名=L$2)*(NOT(ISERROR(FIND($K3,商品名)))),金額)

 店舗名が L2 セルに入力された店舗で
 商品名に K3 セルにある文字列が 入っている
 金額の集計
オートフィルしても大丈夫のように 参照固定をしている

ISERROR 関数
値がエラー値の場合 TRUE を返します
ISERROR( 値 )
値 (必須) : 検査の対象となる値

NOT 関数
引数が TRUE のとき FALSE を FALSE のとき TRUE を返す
NOT( 論理値 )
論理値(必須) : 論理値あるいは結果が TRUE または FALSE になる論理式

リンクのファイルが Internet Explorer で ダウンロードできない方は
FirefoxGoogle Chrome で ダウンロード 一度 保存してから 開いて下さい
ブログ内容は、その日付の時点での情報に基づいています
ブログにアップした後に、変わる情報もありますのでご注意ください 最新記事
質問・苦情・要望などあるようでしたら、下の コメント をクリックして入力して下さい
自分のやり方などは ご自分のHP・ブログで表現して下さい

コメント

コメントの投稿

管理者にだけ表示を許可する

« L2C4.ods グラフ問題について 3 LibreOffice Calc  | HOME |  SUMPRODUCT 関数について その9 »

PAGE TOP ▲

Calender

« | 2011-12 | »
S M T W T F S
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

クリック募金

OpenOffice.org HP

OpenOffice.org 記事一覧

LibreOffice日本語HP

ダウンロードも ここからできます

LibreOffice 記事一覧 1

LibreOffice 記事一覧 2

Kingsoft Office 記事一覧

ヴァイオリニスト松尾依里佳


ヴァイオリニスト松尾依里佳

カウンター

Search

Appendix

ホットなオークション!

DTIブログ
ブログでアフィリエイト


DTIブログポータルへ

このブログを通報
Report Abuse
/