- ベストアンサー
特定の文字列が含まれるセルを別表から参照したい
- Excel2010を利用して、特定の文字列が含まれるセルを別表から参照する方法を教えてください。
- 銀行の通帳の履歴が記録されている表と、摘要欄にキーワードが含まれている表があります。特定の年に支払った税金と保険料を合計する式をC13〜C16に入れたいです。
- 銀行の通帳には文字数の制限があり、年度や期が記載された金額もあります。前方一致や後方一致ではなく部分一致検索を希望します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
準備: ○A2:A5の年月日欄には、2013/12/2の形式で日付として日付を記入してあること セルの書式設定で2013.12.2としておくのは構いませんが、「数式バーで見たときに」年/月/日で記入されているという事です エクセルに導入したデータが「2013.12.2」形式で、セルに記入した時に(ご相談のサンプル画像とは違って)「左詰めで文字列として」記入されていた場合は、置換によって.を/にすべて置換して年/月/日形式に変換しておきます ○A13:A16には、2013のように数値で記入すること セルの書式設定の表示形式で0年のように設定して、2013年と表示しておくのは構いません ○B13:B16には「税金」のように、B8:B11と同じ記載内容で記入しておくこと 手順: C13に =SUM(SUMIFS($C$2:$C$5,$A$2:$A$5,">="&DATE(A13,1,1),$A$2:$A$5,"<="&DATE(A13,12,31),$B$2:$B$5,"*"&IF($B$8:$B$11=B13,$A$8:$A$11,"x")&"*")) と記入、必ずコントロールキーとシフトキーを押しながらEnterで入力、以下コピー。
その他の回答 (1)
- kagakusuki
- ベストアンサー率51% (2610/5101)
前提としてA2~A5に入力されている日付は、シリアル値で入力されていて、A13~A16に入力されている年は「4桁の数字+年」の形式の文字列データであるものとします。 まず、C13セルに次の関数(配列式では御座いません)を入力して下さい。 =IF(OR($A13="",$B13=""),"",IF(ISERROR(MATCH($B13,{"税金額合計","保険料合計"},0)/(RIGHT($A13,1)="年")/($A13&"1月1日")),"計算出来ません",SUMPRODUCT(($B$8:$B$11=INDEX({"税金","保険料"},MATCH($B13,{"税金額合計","保険料合計"},0)))*SUMIFS($C$2:$C$5,$A$2:$A$5,">="&$A13&"1月1日",$A$2:$A$5,"<"&($A13&"12月31日")+1,$B$2:$B$5,"*"&$A$8:$A$11&"*")))) 次に、C13セルをコピーして、C14~C16の範囲に貼り付けて下さい。 以上です。
お礼
ありがとうございます! そうですよね、日付はシリアル値に変換するか何かしないとダメですよね。 預金通帳のデータのコピペですので、そこも何か考えておきます。
お礼
出来ました! ありがとうございます。 それにしても、配列数式と言うのですね。初めて知りました。 引き続き勉強しながらいろいろいじってみます。