ベストアンサー エクセルにてあるセルに年式を打ち込むと、別シートにある顧客リストから、 2010/06/02 15:41 エクセルにてあるセルに年式を打ち込むと、別シートにある顧客リストから、月・日の区別なしに抽出し、左セルの地方名に準じて、さらに抽出されるような計算式を教えて頂けますでしょうか? 画像を拡大する みんなの回答 (6) 専門家の回答 質問者が選んだベストアンサー ベストアンサー keithin ベストアンサー率66% (5278/7941) 2010/06/03 00:24 回答No.5 フム。。その式で#VALUEを出すのもなかなかムズカシイのですが, では B2に =IF($A2="","",SUMPRODUCT((LEFT(リスト!$C$1:$C$1300,LEN($A2))=$A2)*(YEAR(0&リスト!$J$1:$J$1300)=B$1))) としてみてください。 また一応念のため,リストシートの該当列に#VALUEなどのエラー値が計算されていないことを,よく確認しておいてください。 質問者 お礼 2010/06/03 09:47 できました! よく確認したら、Jの縦列の日付欄にひとつだけ「*」が入力されておりました。 「*」を削除して問題なく「keithin」さんの計算式で反映ができております。 ありがとうございました! 早速仕事で利用させて頂きます! 質問者 補足 2010/06/03 09:34 =COUNTIF(リスト!$C$2:$C$1300,"*"&"東京都"&"*") をB2に入れれば、ちゃんと数字が出ますが、 御指示頂きました計算式を入れても「VALUE!」と表示してしまいます。 リストシートのCとJの縦列内にてエラー表示を探しましたが、ありません。 少し気になったのは、範囲を狭めて =IF($A2="","",SUMPRODUCT((LEFT(リスト!$C$1:$C$10,LEN($A2))=$A2)*(YEAR(0&リスト!$J$1:$J$10)=B$1))) とした場合、「VALUE!」が「0」となりました。しかし1~10の範囲に東京都が含まれているのにカウントされていません。 通報する ありがとう 0 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 その他の回答 (5) merlionXX ベストアンサー率48% (1930/4007) 2010/06/03 09:47 回答No.6 No1~No3のmerlionXXです。 #VALUE!エラーがでましたか・・・。 念のため確認しますが、J列には日付が、文字列ではなくちゃんと日付形式ではいっているのですよね? ためしに、J1に日付があるなら、=YEAR(J1) としてちゃんと「年」が返るか確認してください。 通報する ありがとう 0 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 KURUMITO ベストアンサー率42% (1835/4283) 2010/06/02 16:58 回答No.4 シート1のC1セルから下行に住所が、D1セルから下行に日付があるとします。 シート2ではB1セルに2007のように入力し、A2セルから下方には東京都などの文字が入力されるとします。 シート2のB2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(OR(A2="",B$1=""),"",SUMPRODUCT((ISNUMBER(FIND(A2,Sheet1!C$1:C$1000)))*(YEAR(Sheet1!D$1:D$1000)=B$1))) 質問者 補足 2010/06/02 17:31 御指示どおりにしましたが、「#VALUE!」と表示します。 通報する ありがとう 0 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 merlionXX ベストアンサー率48% (1930/4007) 2010/06/02 16:48 回答No.3 同じシートでも別シートでもリストの範囲を参照している部分を変えればいいだけです。 仮にリストが別シート(Sheet2)にあり 住所がC列、日付がD列で1~25行までなら、B2の式は、このように変わるだけです。↓ =SUMPRODUCT((ISNUMBER(FIND(A2,Sheet2!$C$1:$C$25)))*(YEAR(Sheet2!$D$1:$D$25)=$B$1)) 質問者 補足 2010/06/02 17:13 御指示どおりにしましたが、「#VALUE!」と表示します。 シートの名前は「リスト」なので、下記の通りに修正しましたが、連動しないようです・・・。 =SUMPRODUCT((ISNUMBER(FIND(A4,リスト!$C$1:$C$1300)))*(YEAR(リスト!$J$1:$J$1300)=$B$1)) 「リスト」シートのC1~C1300までは住所が記載されています。 「リスト」シートのJ1~J1300までは年式が記載されています。 通報する ありがとう 0 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 merlionXX ベストアンサー率48% (1930/4007) 2010/06/02 16:17 回答No.2 No1です。 「C2セルは」は「B3セルは」 の間違いです。 B4セルは =SUMPRODUCT((ISNUMBER(FIND(A4,$C$12:$C$36)))*(YEAR($D$12:$D$36)=$B$1)) です。 質問者 補足 2010/06/02 16:23 早速のご回答ありがとうございます。 当方の添付画像はわかりやすくするために同じシート内で表を作成しましたが、 実際には顧客リストは「別シート」上にあります。 このような場合はどのような計算式になりますでしょうか? お手数ですが、ご教授頂ければと存じます。 通報する ありがとう 0 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 merlionXX ベストアンサー率48% (1930/4007) 2010/06/02 16:13 回答No.1 ご掲示のような形式だとすると 住所がC列、日付がD列ですね? B1に2007、A2に東京都と入ってるとしてB2セルには =SUMPRODUCT((ISNUMBER(FIND(A2,$C$12:$C$36)))*(YEAR($D$12:$D$36)=$B$1)) C2セルは =SUMPRODUCT((ISNUMBER(FIND(A3,$C$12:$C$36)))*(YEAR($D$12:$D$36)=$B$1)) と入れてみてください。 リストは12行~36行までの例ですので実際の行にあわせて修正してください。 画像を拡大する 通報する ありがとう 0 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 カテゴリ パソコン・スマートフォンソフトウェアその他MS Office製品 関連するQ&A エクセルで、別シートを参照しているセルのリストアップ オフィス系ソフト エクセルで入力のあるセルのみ別シートに表示したい オフィス系ソフト エクセルのシート名をリスト化したい オフィス系ソフト エクセルで検索して別シートに抽出したい その他MS Office製品 エクセルで新規顧客のリストを追加 オフィス系ソフト あるセルに文字が入力されている行だけを別シートにコピーする方法 オフィス系ソフト エクセルデータの顧客リストを個人別のシート(カード化)にする方法 Windows XP Excelで、シート2の値をシート1のリストに表示することは可能でしょうか? Visual Basic エクセル 顧客マスタを利用してお中元リストを作りたいのですが。 オフィス系ソフト エクセル 関数 別シートへの抽出 オフィス系ソフト エクセル シート間の集計について オフィス系ソフト (sheet1)顧客名を入力すると、(sheet2)リストから、住所などのデータを抽出出来る様にしたい。 Windows系OS Excelで別のブックのセルを参照させるとき オフィス系ソフト Excelのオートフィルタで選択⇒別セルへ その他MS Office製品 Excel で、別シートの5つのセルをもう一つのシートのあるセルにひとまとめにする方法? オフィス系ソフト エクセル 別シートにあるデータを。 オフィス系ソフト エクセルのセルごとに選択リストをつけるには? オフィス系ソフト 別シートのセル参照 オフィス系ソフト =で別シートのセルのデータをクリックできない Excel(エクセル) エクセルの使い方(顧客リスト) Excel(エクセル)
お礼
できました! よく確認したら、Jの縦列の日付欄にひとつだけ「*」が入力されておりました。 「*」を削除して問題なく「keithin」さんの計算式で反映ができております。 ありがとうございました! 早速仕事で利用させて頂きます!
補足
=COUNTIF(リスト!$C$2:$C$1300,"*"&"東京都"&"*") をB2に入れれば、ちゃんと数字が出ますが、 御指示頂きました計算式を入れても「VALUE!」と表示してしまいます。 リストシートのCとJの縦列内にてエラー表示を探しましたが、ありません。 少し気になったのは、範囲を狭めて =IF($A2="","",SUMPRODUCT((LEFT(リスト!$C$1:$C$10,LEN($A2))=$A2)*(YEAR(0&リスト!$J$1:$J$10)=B$1))) とした場合、「VALUE!」が「0」となりました。しかし1~10の範囲に東京都が含まれているのにカウントされていません。