• ベストアンサー

エクセルシートの検索・何回登場したか

自分でも調べてみたのですが、 良いやり方が思いつかず、困っています。 どうか質問させてください。 エクセルのシート(年毎に一枚,30枚ほど)があり、 各シートに氏名(文字列)が並んでいます。 成果をあげた人の名前なので、 同じ氏名が2度以上、多い人では一枚のシートに10回以上出現することもあります。 各氏名について、 エクセルの全てのシートを検索して、 何回登場したかを知りたいのですが、 良い方法はないでしょうか・・・。 どなたかご存知の方、ご教授いただけないでしょうか。

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

  • ベストアンサー
  • TTQ
  • ベストアンサー率56% (9/16)
回答No.1

この関数はどうでしょうか? =COUNTIF(A1:A30,"山田 太郎") このようにするとA1からA30までに入力されている 山田 太郎 と言う文字列の個数を調べることができます。 同様にSheet2以降にもこの関数のセルを作り、最後にカウントしたセルを串刺しで合計するという方法はいかがでしょうか?

aili55
質問者

お礼

ありがとうございます! COUNTIF・・・なるほど!眼からうろこです。 おかげさまでできました! 本当に助かりました。

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

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

VBAでやると(色々方法があるが) Sub test01() Dim sh As Worksheet t = 0 For Each sh In Worksheets 'MsgBox sh.Name x = WorksheetFunction.CountIf(sh.Columns("A:Z"), "a") MsgBox x t = t + x Next MsgBox t End Sub 1つのブックのAからZ列までに「大島」が何度現れるかカウントします。 ーー 上記で ●「大島」は任意の名前に変える。 ●A:Zは対象となる列(カウント解消の名前の現れる)に変える。 ●あるシートをカウントから除く If sh.Name <> "Sheet2" Then ・・ End If を入れる。 ●シート(例Sheet1)に件数を書き出す。 Sub test01() Dim sh As Worksheet t = 0 i = 1 For Each sh In Worksheets MsgBox sh.Name If sh.Name <> "Sheet2" Then x = WorksheetFunction.CountIf(sh.Columns("A:Z"), "大島") MsgBox x Worksheets("Sheet1").Cells(i, "J") = sh.Name Worksheets("Sheet1").Cells(i, "K") = x i = i + 1 t = t + x End If Next MsgBox t End Sub Msgboxは本番では削除して可。

aili55
質問者

お礼

詳しく教えていただき、ありがとうございます。 VBAを覚えておくと、とても役に立ちそうですね・・・。 頑張って勉強してみます。 ありがとうございました。

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

関連するQ&A

  • Excel のSheet中の 「*」 はどうやって検索しますか?

    Excel Sheetの中の * (アスタリスク)を検索する方法が分かりません。 編集(E) の検索(F) 「検索する文字列」に * を入れて検索すると、ワイルドカードの意味になってしまい、数式や、文字列が入っている全てのセルが検索されてしまいます。どなたかいい方法を教えてください。

  • Excel内での検索結果をシートに出力したい

    こんばんは。いつも大変お世話になっています。 Excel2003にて、あるシートの中から 対象の文字列があるかどうか検索をしました。 検索時に「すべて検索」にすると、 全結果が表示されますよね。 その内容をExcelのシートに出力することは できないでしょうか・・・。 どのセルの位置にその対象文字列がいてということを 報告書として作成したいのです。 イメージがうまくかけませんが、どなたかよい方法を ご存知でしたら教えてください。 何か記述で足りないものがあれば、すぐに記述いたします。

  • エクセルで入力した文字を別シートで検索して・・・

    エクセル初心者です。既にご質問、ご回答がありましたらすみませんがご教授願います。 シート1のA1に入力した文字を シート2の1行目から検索 検索された文字の同列の2行目の数値を シート1のB1に表示させるにはどのようにしたらよろしいでしょうか? また、シート1のA1に入力した文字を シート2のA列から検索 検索された文字の同行のB列の数値を シート1のB1に表示させる場合はどのようにしたらよろしいでしょうか? 説明がヘタでわかりづらいかもしれませんが、2通りのご教授を宜しくお願い致します。

  • excel vba 検索の方法について

    excel vba 検索の方法について sheet1とsheet2があり sheet1のA列に10列(全て8桁の数字)文字が並んでいます。 sheet2のA列には1000列(全て8桁の数字)文字が並んでいます。 sheet1のA列とsheet2のA列で同じ文字がある場合 sheet2のA列の同じ文字の隣のsheet2のB列に◎がつくような vbaが書きたいです。 A列の文字は消したり、文字を変えたりします。 コマンドボタンに書いて、ボタンを押せば B列に◎がつくようにしたいです。 ご教授お願いします。

  • (excel)シートごとに検索しなければならない?

    どなたかお願いします。 職場で、excelを使って名簿を作る作業をしています。 1つのexcelファイルの中には何枚ものシートがあり、シートごとに名簿が異なります。 たとえば、 1シート目が「お茶サークル名簿」、2シート目が「茶道サークル名簿」・・といった感じです。 人によっては、お茶サークルにも属し、茶道サークルにも属している場合があります。 そこで質問させていただきます。 ある人が属しているすべてのサークルを知りたいときは、シートごとに(すべてのシートで)、名前の列で、その人の名前を検索をかけなければならないのでしょうか? もっと効率的な手段がありましたら教えてください。 (使用しているexcelのverは、確認してくるのを忘れてしまいましたが、会社のなので、それほど昔のverではないと思います) よろしくお願いいたします。

  • データベースを検索するマクロ(エクセルで)

    エクセル初級者です。 データベース化してある顧客名簿がsheet2にあり、A列は個人別コードが、B列は氏名、C列は郵便番号、D列は住所、・・・といった感じになってます。 教えていただきたいのは、sheet1上で氏名を入力して検索するフォームを作り、検索の結果、ヒットしたすべてがsheet3上に抜き出す方法って可能ですか? うまくいえないのですが、例えば「佐藤」と入力して検索ボタンを押せば、sheet2のすべての佐藤さんのデータがsheet2の形式と同じ形でsheet3に表示されるようにしたいのです。 情報に不足があれば補足しますので、どなたかVBAの書き方を教えてください。よろしくお願い致します。

  • vba 別シートからの複数検索

    ご教授ください。 エクセルで同じファイルにある別シートからsheet1のI列とJ列を検索する方法を教えてください。条件としては以下になります。 (1)sheet(6)にあるA1からA60に入力されている4桁から6桁の文字(A0000,A1000-2など)をsheet1のJ列から検索する。 (2)見つかったらsheet4にその行をコピーする。 (3)sheet(7)にあるA1からA1000に入力されている10桁の数字をsheet1のI列から検索する。 (4)見つかったらsheet5にその行をコピーする。 以上、よろしくお願い致します。

  • エクセルを使って…

    エクセルを使って文字列などを検索して新しいシートへ検索されたデータを全て抽出するソフトなどはあるのですが、検索した文字以外を新しいシートに抽出する方法やソフトなどはありますでしょうか? 詳しい方ご教授願います。 宜しくお願いします。

  • 検索機能をつけたいと考えています。

    エクセルでタイムカードを作っています。 シート1で入力した氏名・勤務時間等が、シート2にとび、一覧表になっています。 シート3を検索シートにして、シート2の一覧表から名前で検索をかけたいのです。 (やりたいこと) ・VLOOKUPで一覧表から、検索した名前がでている勤務時間や諸項目をシート3に反映したい。 ・複数ある同じ人の項目をすべて表示させたい。 (困っていること) ・VLOOKUPで、検索値を文字にしたい場合、うまく検索されない。 ・タイムカードなので、同じ名前の人が何回も出てくる。 <シート3に作った式> シート3のC2に名前をいれて検索をかけたいのです。 =VLOOKUP(C2,Sheet2!A:C,10) ★範囲のSheet2!A:Cというのは、名前が入っているセルが結合されているためです。 どなたか助けてください。

  • 検索マクロ

    こんばんわ。 エクセル初心者です。 今、下記の画像(中、下)のとおり、エクセルのシート2(1月分情報)からデータを 入力しています。シートは10枚くらいになる予定です。 データの構成は、各シートのA2から氏名が入力されており、何名入力されているかは 各月シートによって違っています。 列数はA列からF列まで6列文にそれぞれ情報が入力されています。 今ここでしたい処理なのですが、下画像の上段のようにシート1に氏名検索用の シートを作り、氏名の一文字を入れることによって、シート2以降にあるすべての氏名情報を引っ張ってシート1に表示したいのです。 何かいいコードはあるのでしょうか。今は目視で各シートをひとつづつ確認しているので 大変です。 よろしくお願いします。

このQ&Aのポイント
  • 正規品のインクを交換したが全ての色が認識されず
  • Windows 10 PCと無線接続して使用
  • 対処法としてインクを外し電源を入れ直すが改善せず
回答を見る

専門家に質問してみよう