• ベストアンサー

エクセルで2つのシートに同じ名前があれば印をつける

シート1はイベント参加者名、シート2は注文者です。 どのイベントに参加した人が注文しているか調べたいのです。 注文者シートの氏名列にイベント参加者と同じ名前があれば、印をつけたいと思います。 イベント参加者のシートは    A          B   会場番号       氏 名 一人の人が何回もイベントに参加している場合は想定していません。 別シートに抜き出すのではなく、注文者シートに列を追加してそこに会場番号が表示されたらすごくうれしいです。 どうぞよろしくお願いします。

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

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

シート2のA列に注文者の名前が有るとして。例えばC1セルに次の式を入力して下方にドラッグコピーすることでシート1に同じ名前の参加者が有る場合にその方の会場番号を表示します。 =IF(OR(A1="",COUNTIF(Sheet1!B:B,A1)=0),"",INDEX(Sheet1!A:A,MATCH(A1,Sheet1!B:B,0))) 印をつけるとの作業は上の作業で良いのでしょうか。 シート1のB列の名前がシート2の注文者の名前と一致すればシート1のC列に○などの表示をさせるのでしたらシート1のC1セルには次の式を入力して下方にドラッグコピーします。 =IF(COUNTIF(Sheet2!A:A,B1)=0,"","○") =

90160622
質問者

お礼

助かりました。○印をつけるより、会場番号を表示させた方がありがたかったので、上の方法で処理しました。多くのデータがあったので困ってましたが、解決しました。ありがとうございました。

その他の回答 (2)

回答No.3

'マッチングプしたデータをマークして指定された列をコピー Option Explicit Sub MakingCells() Const xFrom = "Sheet1" 'データ元 Const xTo = "Sheet2" 'コピー先 Const xSign = "印" 'マーキング Const xKey_From = "B" 'キー列データ元 Const xKey_To = "A" 'キー列コピー先 Const xPick_From = "A" 'コピー列データ元 Const xPick_To = "E" 'コピー列コピー先 Const xHeads = 1 'ヘッダ行数 Dim kk As Long Dim nn As Long Dim xSheet_From As Worksheet Dim xSheet_To As Worksheet Dim xLast_From As Long Dim xLast_To As Long Application.ScreenUpdating = False Application.DisplayAlerts = False Set xSheet_From = Sheets(xFrom) Set xSheet_To = Sheets(xTo) xSheet_To.Columns(xPick_To).Clear '最終行チェック xLast_From = xSheet_From.Cells(Rows.Count, xKey_From).End(xlUp).Row xLast_To = xSheet_To.Cells(Rows.Count, xKey_To).End(xlUp).Row For kk = 1 + xHeads To xLast_To If (xSheet_To.Cells(kk, xKey_To) <> Empty) Then For nn = 1 + xHeads To xLast_From If (xSheet_From.Cells(nn, xKey_From) <> Empty) Then If (xSheet_To.Cells(kk, xKey_To) = xSheet_From.Cells(nn, xKey_From)) Then 'xSheet_To.Cells(kk, xKey_To) = xSheet_To.Cells(kk, xKey_To) & xSign xSheet_To.Cells(kk, xKey_To) = xSheet_From.Cells(nn, xKey_From) & xSign xSheet_To.Cells(kk, xPick_To) = xSheet_From.Cells(nn, xPick_From) End If End If Next nn End If Next kk Epilogue: xSheet_To.Select Application.CutCopyMode = True Application.ScreenUpdating = True Application.DisplayAlerts = True End Sub

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.1

Sheet1のC2セルに以下の式を貼り付けて、下にドラッグコピーし、 =A2 (Sheet2のA2セルから下に注文者の指名が記載されているとした場合) Sheet2のB2セルに以下の式を貼り付けて、下にドラッグコピーしてみてください。 =VLOOKUP(A2,Sheet1!B:C,2,FALSE)

関連するQ&A

  • エクセルの列に三角印と*印が?

    エクセルのシートである列をクリックすると列の番号の所に三角印が付き、その下に列が追加され*印がついてしまいます。 それ以後の行はウインドが分割されて様になってしまいます。 どうしてでしょう。 どなたか宜しくお願いします。

  • EXCELで複数のシートへリンクさせたい

    基となるシートに受付順にA列に氏名、B列に住所、C列に商品名(甲、乙など)を入れるのですが、 「甲」「乙」という商品ごとのシートを作っておいて 基シートに「甲」の注文が入力されたら、自動的に商品別シートにも氏名等の内容が入るようにするにはどうしたら良いでしょうか?

  • エクセルの別シートのマッチング

    エクセル初心者です。 シート1に氏名 住所が200名ほど入っています。 シート2に氏名 電話番号が100名ほど入っています。 シート3にシート1の氏名 住所 シート2の電話番号としたいのですが どのようにしたらよいのでしょうか。 シート1の氏名とシート2の氏名がマッチしたところに電話番号が入っている形にしたいと思います。 よろしくご指導下さい。

  • エクセル2010 複数シートでの関数を教えて下さい

    画像の乙シートを作りたいと思っています。 甲シートは約80枚あります。C列に「休」という文字か、出席を表す「1」という文字が入るようになっています。また約80枚のシート名には、それぞれ氏名が入力されています。 甲シートのC列に「休」と書いてあれば、対応した日の乙シートC列に、自動で名前(シート名+スペース)が出るようにしたいです。 可能でしょうか?よろしくお願いします。

  • エクセルで項目ごとに新しい別のシートにしたい

    エクセルで名簿を作成しています。 C列に生徒番号、D列に氏名、E列にクラスがAからFまでランダムに入っています。 この名簿を新しいファイルに、クラスごとに別のシートにしたいです。 できればシート名も「A」「B」となっていれば助かります。 A,B列にもデータが入っていますが、今回は生徒番号、氏名、クラスのみの ファイルにしたいです。 良い方法を教えてください。よろしくお願いします。

  • エクセルの複数のシートを新しいシートにまとめる方法

    お分かりになる方教えてください。 エクセルの複数のシートを新しいシートにまとめたいのですが、各シートのフォーマットは同じではありません。 シート1の列には、IDや組織名 シート2の列には、氏名やふりがな シート3の列には、住所などが書かれています。 列はいかしたままにしたく、まとめた後は ID・組織名・氏名・ふりがな・住所と並べるようにできればと思います。 また、フォームからボタンを押せば、一度にまとめられるように作成したいのですが、何か良い知恵がありましたら教えてください。

  • sheet2からsheet1へのデータの飛ばし方(エクセル関数)

    Sheet1 A  B C D E (列) ―――――――――――――――――――――――― 1| 番号  氏名   所属  入社  生年月日 2| 1000  斉藤   東京  10/4  (入力箇所) sheet2 A B C D (列) ――――――――――――――――――― 1| 番号  氏名  所属  生年月日 2| 1000  斉藤  東京  1988/11/1 sheet1のE行(生年月日)にsheet2を参照し、同じ番号の人の生年月日が表示されるようにしたいのですが、どのような式(関数)を入れたら表示されるでしょうか? ほかの似たような質問の解答を見てMatchやvlookupを使ってみましたが、できなかったので教えてください。 よろしくお願いします。

  • VBAにて、複数シートからデータを抽出

    エクセルVBAです。複数のシートからの集計、抽出の書き方について教えてください。 1つのファイルに50ほどのシートがあります。 各シートの列数やフォーマットは、同じですが行数は、異なります。 例 sheet1(シート名:集計):集計用   A    B    C       D     1 ※検索キーワードを入れるセルや 2   マクロを登録するボタン用として2行開けてある。 3 番号 氏名  郵便番号  住所  sheet2(シート名:STU)   A    B    C       D      1 番号 氏名  郵便番号  住所  2  1  AB   345    YZ 3  1  CD   678    QS sheet3(シート名:XYZ)   A    B    C       D      1 番号 氏名  郵便番号  住所  2  2  AB   345    YZ 3  2  CD   678    QS 4  3  CD   678    QZ 抽出前は、上記の様なファイルとなっております。 上記では、4列としてますが実際は、23列あります。 また、sheet3までですが、実際は、40~100シート位あります。 sheet1(シート名:集計):集計用   A    B    C       D     1     ※検索キーワード:氏名_CD としマクロを実行する  2       (↑例として氏名でフィルタリングしてますが他の指定項目でも実行したい、複数条件は、無)   3 番号 氏名  郵便番号  住所 4  1  CD   678    QS    (←sheet2(シート名:STU)の3列目) 5  2  CD   678    QS  (←sheet3(シート名:XYZ)の3列目) 6  3  CD   678    QZ  (←sheet3(シート名:XYZ)の4列目) ・  ・  CD    ・      ・ (←sheet4(シート名:・・・)の・列目) ・  ・  CD    ・      ・ (←sheet10(シート名:・・・)の・列目) ・ ・  CD    ・      ・ (←sheet27(シート名:・・・)の・列目) ・  ・  CD    ・      ・ (←sheet27(シート名:・・・)の・列目) ・ ・  CD    ・      ・ (←sheet30(シート名:・・・)の・列目) 上記の様にすべてのシートから氏名:CDでフィルタリングし集計シートに抽出したい。 よろしくお願いいたします。

  • エクセルで男女別に名前を検索して表示するには?

    エクセルで名簿を作っています。 一つめのシートに男女混合の名簿を貼り付けます。 二つめのシートで,女だったら左の列,男だったら右の列に名前を表示させたいのです。どのような関数を組み合わせればできるでしょうか。 一つめのシートは,一列目に番号,二列目に氏名,三列目に性別が入力されています。

  • エクセルでsheet2からsheet1へひっぱる・・・

    エクセル初心者です。よろしくおねがいします。 sheet1に注文の受注表があります。 sheet2に商品番号や商品名、金額が載っているリストがあります。 sheet1の受注票の商品番号欄に商品番号を入力しただけで 商品名や金額が表示されるようにするにはどのようにしたら よろしいのですか。 初歩的な質問ですみません。よろしくお願いいたします。

専門家に質問してみよう