• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【Excel】各来客の最古来店日を抽出する方法)

【Excel】各来客の最古来店日を抽出する方法

このQ&Aのポイント
  • Excel2007を使用して、来店したお客様のリストからそれぞれのお客様の最古来店日を抽出する方法を探しています。
  • オートフィルタを使わずに、データを整理する方法を探しています。
  • シートAにデータを貼り付けると、シートBに抽出されるように関数で制御したいと考えています。

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

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

シート2のA列にIDを記入するとして シート2のB2は =IF(A2="","",VLOOKUP(A2,Sheet1!A:B,2,FALSE)) 以下コピー のような基本の関数で計算できますね。 シート2のC2には簡単な数式で =IF(A2="","",MIN(IF(Sheet1!A:A=A2,Sheet1!C:C))) と記入してコントロールキーとシフトキーを押しながらEnterで入力し,以下コピー して,日付の書式を付けておきます。 シート保護などを併用して,A列だけに入力できるようにアナタが気を配ってあげるとよいでしょう。 #余談 ご相談のような状況で非常に多くの皆さんが失敗して相談を寄せてくる間違い易い点として。 IDの「001」とかは,勿論ご相談のためだけの偽データだと思いますが,シート1やシート2に ●「文字列設定にして001」を記入している ●「1を記入し表示形式で001と表示している」 が混在して,計算ができないで困る方がこちらの質問相談掲示板にも沢山みえます。 とくに「001」みたいに一見して判るならまだしも,「123」などでは見ただけじゃこれが「文字列で記入されている」のか「数値の123」なのか判りません。必ず統一して入力できるように,シートを作製するアナタが気を配って設計してください。 今回ご質問の本筋じゃないのでフォローはしませんが,もしもアナタご自身もそういわれても困りますなようなら,別途ご相談を投稿してみると良いかもしれません?

youkeynet
質問者

お礼

迅速なご回答ありがとうございます。 実践してみたところ、希望通りの出力ができ、 大変助かりました。ありがとうございます。 また、余談のご指摘も確かにつまづき易い部分だと感じました。 入力者に負担の少ないシートを作製できるよう、 こちらの点も念頭に入れておきたいと思います。 重ねてありがとうございました。

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

その他の回答 (1)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

シート1のD列は作業列としてD2セルには次の式を入力して下方にオートフィルドラッグコピーします。 =IF(COUNTIF(A$2:A2,A2)=1,MAX(D$1:D1)+1,"") シート2のA2セルには次の式を入力してB2セルまでオートフィルドラッグコピーしたのちに下方にもオートフィルドラッグコピーします。 =IF(ROW(A1)>MAX(Sheet1!$D:$D),"",INDEX(Sheet1!$A:$B,MATCH(ROW(A1),Sheet1!$D:$D,0),COLUMN(A1))) C2セルには次の式を入力し、式を確定する段階でCtrlキーとShiftキーを押しながらEnterキーを押します。 その後にその式を下方にオートフィルドラッグコピーします。 =IF(A2="","",MIN(IF((Sheet1!$A:$A=$A2)*(Sheet1!$C:$C>0),Sheet1!$C:$C))) 最後にC列のセルに書式設定から表示形式で日付を設定します。

youkeynet
質問者

お礼

ご回答ありがとうございます。 こちらも実践し、理想的な結果が出力されました。 どうも配列数式に対する理解が足りなかったようで これを機にもう少し勉強させていただきたいと思います。 重ねてありがとうございました。

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

関連するQ&A

  • <EXCEL>VLOOKUPの活用方法について

    以前に類似の質問があったようですが、解決法が得られていなかったので質問させて頂きます。 EXCELでデータベース SHEET#1 来店日と来店者氏名 SHEET#2 来店日を入力すると、来店者氏名の一覧が表示されるシート」 を作りたいと考えておりますが、関数の利用でSHEET#2は実現できるでしょうか? 例) SHEET#1      → SHEET#2 1日 A様         1日 来場者 1日 B様              A様 1日 C様              B様 2日 D様              C様 3日 E様 といったイメージです。 SHEET#1を検索範囲としてSHEET#2においてVLOOKUP関数を利用 すると、「1日」でヒットする一番最初のデータ(=A様)しか 検索してくれず、困っています。

  • EXCEL2003で抽出?教えてください。

    シート1で入力されている住所、氏名、電話番号を、シート2の1セルに1文字づつ抽出して張り付ける方法をご存知の方お教えいただけませんか?お願いします。 (例) シート1のA1セルに 愛知県碧南市○○町○丁目○番地 と入力されている住所を シート2のA1.B1.C1・・・と1文字づつ表示させる方法です。 □□□□□□□□□□□□□□□ 各セルに1文字づつ振り分けて表示する方法なんですが・・・

  • 【EXCEL】シフト表から休みの日だけを抽出する方法をご教授ください。

    いつも大変お世話になっています。 申し訳ありません。どなたかお力をお貸しください。 1ヶ月のシフト表から休みの日を抽出したいのです。 休みの日の記号は常に【X】です。(=Xを抽出したいのです) 出勤日の記号は英数字で、最大5桁まであります。 【拡大図】   A  B    C      D      E      F 1 No 氏名  2009/4/1 2009/4/2  2009/4/3 2009/4/4    2 123 山田   A      B     B      B 3 124 佐藤   A      B     B      X 4 125 田中   X       X     A      A 5 128 清水   C       B     X      A 6 025 上田   C       B     X      A 【縮小図】 A  B   C DEFGHIHIJKLMNOPORSTU 1  NO 氏名 日日日日日日日日日・・・・・・ 2 123 山田 ABBBAXXAAAAAXXBBBBBXXAAAAAXXAA 3 124 佐藤 ABBXXAAAAAXXBBBBBXXAAAAAXXAABB 4 125 田中 BXXAAAAAXXBBBBBXXAAAAAXXAABBAA 5 128 清水 CBXABBBBXXXBBBBCCCCXAAAAAXXXAA 6 025 上田 CBXABBXBAAABBXBCXCCXAAAAAXXXAA 【やりたいこと】 ※No(=社員No)、氏名、休みの日を別シートに表示したいのです。 ※オートフィルタを使って、日毎に手動でやることは避けたいです。    A  B   C 1  No 氏名 休日     2  123 山田 2009/4/6 3  123 山田 2009/4/7 4  123 山田 2009/4/13 5  123 山田 2009/4/14 6  123 山田 2009/4/20 7  123 山田 2009/4/21 8  123 山田 2009/4/27 9  123 山田 2009/4/28   10 124 佐藤 2009/4/4 11 124 佐藤 2009/4/5 12 124 佐藤 2009/4/11 13 124 佐藤 2009/4/12   ・   ・   ・   ・   申し訳ありませんが、 どなたかご教示をお願いします。

  • Excel関数で仕入先ごとに売上金額の一番高い部署を抽出するには・・・

    以下の2つのシートがあったとします。 sheet1のB列にsheet2の仕入先IDに対応しかつ売上金額の一番高い部署IDを抽出するためにはどのような関数を入力すればよいでしょうか? sheet1 A     B 仕入先ID 部署ID 1 2 3 sheet2 A     B    C    D 仕入先ID 部署ID 客先ID 売上金額 1     A    125  146000 1     A    128  288000 1     B    221  288000 2     C    151  88000 2     C    151  88000 2     A    241  666000

  • 抽出の方法

    このカテゴリーでいいのかわかりませんが初めてなのでどうかよろしくお願いします。 エクセルで表を作りました。 シート1の A1~40まで B1~40 C1~42まで それぞれに公式を入力しています。 シート2へ A1~40 B1~40 C1~40 の数字(値)が入っているものだけを抽出したいのですが オートフィルターで抽出すると 空欄(公式)もしくは0が入っているセルまで入ってきます。 これを解消する方法はないでしょうか。 ジャンプ機能でやっても同じように空欄と公式がシート2に 入ってきます。どこかで間違えているのでしょうか。 大変困っています。 抽出先シート2で その空欄(公式)や0を消すという方法が あればそれでもかまいません。 余分な行を作りたくないのでマクロや関数などでその空欄を簡単に 消すことができればいいのですが。

  • Access:クエリの複数『or条件』抽出方法

    ・掲載ID ・掲載日 ・掲載者 ・内容 ・氏名A(YES/NO型) ・氏名B(YES/NO型) ・氏名C(YES/NO型) ・・・ 氏名O(YES/NO型) 上記のようなテーブルからクエリを抽出しようと思っています。 抽出条件を『氏名A』から『氏名O』が『False』であるものと設定したいのですが、 クエリの『または』の抽出条件欄が9つしかないのでどうしていいかわかりません。 複数(15項目以上)の『or(または)条件』を抽出する方法をご存知でしたらお教えください。

  • Excel関数である条件に満たしたものを抽出

    Excel関数である条件に満たしたものを別シートに抽出したいのですが たとえばsheet1に A   B    C ID  名前   条件フラグ 101  太郎   1 102  花子   3 103  一郎   2 104  二郎   3 というデータがあってここから 条件フラグが「3」のものだけをsheet2に抽出したいのですが オートフィルタではなく関数で処理をしたいと思います。お分かりの方、ご教授ください。

  • Excelでの抽出方法を教えてください

    Excelに以下のデータが入力されています。 氏名  日付 都市名 Aさん  9/8 東京 Bさん 9/15 大阪 Cさん 9/16 仙台 Bさん 9/19 名古屋 Cさん 9/22 前橋 Dさん 9/22 横浜 Cさん 9/22 清水 Aさん 9/30 東京 これらのデータから氏名欄に出現する氏名の一覧を抽出したいのです 求められている結果は Aさん Bさん Cさん Dさん です。 何か方法はあるでしょうか。

  • excelを使っての来店頻度の計算方法

    商店への顧客来店の平均的来店頻度を知り 平均的来店頻度<最終来店日~本日の日数が平均的来店頻度より10日以上、上回った時に A1カーソルに×を表示させたいのですが・・・ B1(2012/1/1) 初回来店日をB1カーソル内に入力・・・ C1(2012/2/1) 2回目来店日をC1・・・ 例題 本日2012/5/1とすると下記4回の来店頻度が約30日、最終来店日2012/4/1~本日2012/5/1が 約30日なので A1カーソル内は表示なし A1( )・B1(2012/1/1)・C1(2012/2/1)・D1(2012/3/1)・E1(2012/4/1) 最終来店日2012/3/1~本日2012/5/1の場合 平均日数+10日をオーバーするため A1(×)・B1(2012/1/1)・C1(2012/2/1)・D1(2012/3/1) このようにexcelを使用したいのですが・・・

  • Excel 該当データ数の抽出方法(日付)

    Excel 該当データ数の抽出方法(日付) <元データ>  A    B      C 1 氏名  開始日  終了日 2 3 青木 2010/3/1 2010/3/10 4 石田 2010/3/1 2010/3/20 5 鈴木 2010/3/3 2010/3/7 6 佐藤 2010/3/1 2010/3/3 7 田中 2010/3/5 2010/3/17  上記のような元データがあった場合に、各日に実施されているデータ数(開始日~終了日の間 に当たるデータ数)を以下のように抽出したいのですが、その方法を教えていただけないでしょうか。抽出先は同じシート内でも、別シートでもいいのですが。 <抽出>    A      B 1  日付    該当数 2 3 2010/3/1   3 4 2010/3/2   3 5 2010/3/3   4 6 2010/3/4   3 7 2010/3/5   4  よろしくお願いします。 

専門家に質問してみよう