• ベストアンサー

エクセルにてあるセルに年式を打ち込むと、別シートにある顧客リストから、

エクセルにてあるセルに年式を打ち込むと、別シートにある顧客リストから、月・日の区別なしに抽出し、左セルの地方名に準じて、さらに抽出されるような計算式を教えて頂けますでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.5

フム。。その式で#VALUEを出すのもなかなかムズカシイのですが, では B2に =IF($A2="","",SUMPRODUCT((LEFT(リスト!$C$1:$C$1300,LEN($A2))=$A2)*(YEAR(0&リスト!$J$1:$J$1300)=B$1))) としてみてください。 また一応念のため,リストシートの該当列に#VALUEなどのエラー値が計算されていないことを,よく確認しておいてください。

lego2009
質問者

お礼

できました! よく確認したら、Jの縦列の日付欄にひとつだけ「*」が入力されておりました。 「*」を削除して問題なく「keithin」さんの計算式で反映ができております。 ありがとうございました! 早速仕事で利用させて頂きます!

lego2009
質問者

補足

=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の範囲に東京都が含まれているのにカウントされていません。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (5)

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.6

No1~No3のmerlionXXです。 #VALUE!エラーがでましたか・・・。 念のため確認しますが、J列には日付が、文字列ではなくちゃんと日付形式ではいっているのですよね? ためしに、J1に日付があるなら、=YEAR(J1) としてちゃんと「年」が返るか確認してください。

全文を見る
すると、全ての回答が全文表示されます。
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答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)))

lego2009
質問者

補足

御指示どおりにしましたが、「#VALUE!」と表示します。

全文を見る
すると、全ての回答が全文表示されます。
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答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))

lego2009
質問者

補足

御指示どおりにしましたが、「#VALUE!」と表示します。 シートの名前は「リスト」なので、下記の通りに修正しましたが、連動しないようです・・・。 =SUMPRODUCT((ISNUMBER(FIND(A4,リスト!$C$1:$C$1300)))*(YEAR(リスト!$J$1:$J$1300)=$B$1)) 「リスト」シートのC1~C1300までは住所が記載されています。 「リスト」シートのJ1~J1300までは年式が記載されています。

全文を見る
すると、全ての回答が全文表示されます。
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.2

No1です。 「C2セルは」は「B3セルは」 の間違いです。 B4セルは =SUMPRODUCT((ISNUMBER(FIND(A4,$C$12:$C$36)))*(YEAR($D$12:$D$36)=$B$1)) です。

lego2009
質問者

補足

早速のご回答ありがとうございます。 当方の添付画像はわかりやすくするために同じシート内で表を作成しましたが、 実際には顧客リストは「別シート」上にあります。 このような場合はどのような計算式になりますでしょうか? お手数ですが、ご教授頂ければと存じます。

全文を見る
すると、全ての回答が全文表示されます。
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答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行までの例ですので実際の行にあわせて修正してください。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルで、別シートを参照しているセルのリストアップ

     はじめまして。検索して同種の問題が見当たらなかったため、質問させてください。  エクセルで、別シートを参照しているセルの調査と抽出を手作業で行っています。  シートの中には別シートのセルを参照・計算しているセルと、同一シート内での計算のみを行っているセルがあります。法則のあるものもないものもあり、数百行を検索と目視でまかなっております。  これが 数十ファイル×十数シート あり、手作業に時間の足りなさとつらさを感じ始めております……  エクセルのシートの中で、別シートを参照しているセルの抽出を行いたいです。  セルの色を変更し、セル名(A17 など)とセルの値(='Bシート'!A17 など)を別のファイルなどに出力したいんです。  イメージとしては、数式として「!」を検索したときの検索結果と同じだと思うんですが、検索ではセル名と値をコピーができなかったために困っています。  どなたかご教授いただければと思います。よろしくお願いします。  おまけ。  上記のリストアップ後、リンクの設定されたセルの色付けを行います。参照元のシートごとに色をかえて、見やすくまとめられたら嬉しいなぁと思います。  でもこちらは、リストアップが終わればその後に手作業でもできますので、蛇足ということで……

  • エクセルで入力のあるセルのみ別シートに表示したい

    エクセルに関しての質問は多数あったので色々と見てみたのですが、よく分からないので新たに質問をさせて頂きました。。 現在エクセルで、空白のセルを含めてセルに入力を行っています。 ただ、この空白を含めずに入力されているセルのみを抽出して、 別シートで順番に並べて表示したいと考えています。 入力が確認されたセルのみを、別シートで表示したいです。 画像では、同シート内になっていますが、 これを別シートで自動で表示出来るようにしたいです。 エクセル初心者の為、大変お手数おかけいたしますが、 何卒よろしくお願いいたします。

  • エクセルのシート名をリスト化したい

    エクセルで一つのファイルを作成しました。 ファイル内には複数のシートが存在しています。 最後のページに印刷用のシートを作成させ、各シートからデータを抽出させて印刷できるようにしました。 方法としてはA1にシート名を入力して、各セルに=INDIRECT($A$1&"!L8")のようなリンクを張りました。 今度はA1に打ち込むシート名をリストで選べないかと思いましたが、方法はありますか? シートの数は30ほどあり、シート名は変更がでます。そのたびにリストを変更するのは手間なので、何かいい方法はありますか?よろしくお願いします。

  • エクセルで検索して別シートに抽出したい

    エクセル2003で顧客リストを作成しています。 そのリストの中から特定の文字列を検索し(あいまい検索)、その項目が含まれる行ごと 別シートに抽出をしたいです。 ほかの方のご質問も参考に試してみたのですが、上手くいきません。 1行目に各項目名 A日付 B担当1 C担当2 D管理番号 E顧客名 2行目からデータです。 ほぼ担当1か顧客名で検索し、検索結果は複数になることがほとんどです。 どなたかよろしくお願いいたします。

  • エクセルで新規顧客のリストを追加

    前回、同じような質問して、分かったつもりだったのですが、できませんでしたので、もう一度質問させて頂きます。 シート1に、顧客(会社名)のリストがあります。 <シート1> (A列) A社 B社 C社 ・ ・ シート2に、その月に取引のあった顧客の名前(会社名、担当者が同じセル内にある)があります。 <シート2>    (A列)      (B列) B社 ○○さん    1000円 C社 △△さん    1000円 X社 □□さん    2000円 C社 ○△さん    1500円 G社 □△さん    1000円  B社 ◎○さん     500円 という具合です。 X社さん、G社さんは新しい顧客なので、シート1のリストに追加したいのです。 しかし、シート1のデータも膨大であり、シート2のデータも膨大なので、手作業では困難です。 そこで、シート1のリストにない顧客の名前だけ、シート2で目立つような(あるいはピックアップするような)方法がないでしょうか。 金額は関係ありません。次の列に入っていることを分かりやすくしただけです。

  • あるセルに文字が入力されている行だけを別シートにコピーする方法

    ある一つのセルに文字が入力されている行だけを別シートに 自動でコピーする方法はありませんでしょうか? 顧客リストをエクセルで管理しているのですが、 「休眠顧客」をそこから自動で抜き出す方法を探しています。 たとえば、ある列を「リリース」とか「アプローチ中止」などの 項目にし、そのセルに●印が入っている行だけを自動で、別シートに 反映させたく思っています。 自動で「休眠顧客リスト」ができたらいいなって思っています。 どなたか、お教えくださいますよう、お願いいたします。

  • Excelで、シート2の値をシート1のリストに表示することは可能でしょうか?

    Excelで(シート1の)セルに入力する値をリストで表示したいのですが、そのリストに載せる候補を別シート(シート2など)から呼び出すことはできるのでしょうか? 具体的には別シートに商品名が記された表を作って、その表には随時商品名を追加できるようにしてあります。 商品が追加された際には、リストの候補にもその新しい商品名が追加されるといったようなつくりにしたいのですが、それをプログラムで作ることは可能でしょうか? もしくは商品を入力するセルに商品名を入力した際に、別シートにある表にその商品名が掲載されていない場合、その入力をはじくといったプログラムを作ることは可能なのでしょうか? 質問の仕方に至らない点があるかとも思いますが、わかる方がいらっしゃれば是非お願いします。

  • エクセルデータの顧客リストを個人別のシート(カード化)にする方法

    エクセル初心者です。 エクセルに大量の顧客リストのデータがあり、それを個人別のシート(1枚につき一人のデータ情報カード)に書き換えたいのですが、簡単に名前や住所などのデータを挿入できる方法はありますか。 個人別のシートは、エクセル、パワーポイント、ワードは使用できますが、アクセスはダメです。

  • エクセル 顧客マスタを利用してお中元リストを作りたいのですが。

    エクセル 顧客マスタを利用してお中元リストを作りたいのですが。 顧客名、住所、電話番号などの情報が入った顧客マスタをエクセルに落として、それを利用して 会社のお中元リストを作ろうと思います。 「お中元リスト」シートの顧客名欄にお中元を出したい顧客名を入力すると、「顧客マスタ」シート から同じ顧客名を探し出し、お中元リストの住所欄、電話番号欄が自動で埋まる仕組みのものを作り たかったのですが上手くいきません。 VLOOKUP関数を使ってお中元リストを作ってみたのですが、実際に顧客名を入力しようとすると 正式な顧客名がわからないことが多いことに気が付きました。 その顧客が株式会社なのか有限会社なのか、先(株)か後(株)か、「○○産業」だったか「○○工業」 だったか等で、正式な顧客名(顧客マスタに登録されている顧客名)が分らない為に、結局顧客マスタ を見ながら顧客名を入力しなければならない有様です。 「入力規則」のリストを使おうと考えましたが、顧客マスタの件数が多く(2,000件以上)、リストから 選ぶのも大変です。 できればインターネットの検索みたいに入力途中に候補を表示してくれるような仕掛けを作れれば素 晴らしいのですが。 何かいい方法をご存知でしたら教えて下さい。

  • エクセル 関数 別シートへの抽出

    エクセル関数について質問します。 「数値の入ったセルだけを、その行ごと丸々別シートに抽出する方法」 について教えてください。 例、C列に空白セルと1、2や3など、数値の入ったセルがあります。空白セル以外の数値の入ったセルを、その行ごと別シートに抽出したい。 C3とC5に数値が入ってる→3行目と5行目を別シートに抽出する。 このようなことは関数でできるのでしょうか? マクロでないと無理でしょうか? お力をお貸しください。 よろしくお願いします。

専門家に質問してみよう