A B C
1 田中実 田中 田中実
2 石川武 田中康雄
3 中田英人
4 石崎甚平 石川 石川武
5 石川啓子 石川啓子
6 中田康雄
B列にA列の文字列に部分一致する文字列を入力すると
C列にその検索結果を表示する様にしたい。
C1=IF(OR($B$2="",$B$2<1),"",VLOOKUP("*"&B2&"*",$A$2:$A$1500,1,FALSE))だと田中や石川のように名前がかぶると
1個しか表示されない。B2にも田中が該当する人を表示させたい。
説明が下手かもしれませんが、知恵を貸してください。よろしくお願いします。
No.2ベストアンサー
- 回答日時:
作業列を作って対応することになるでしょう。
また、田中や石川を検索しそれらをリストアップさせるのでしたら田中のためにB,C,Dの3列を設けることが田中がたくさんいる場合にも対応できることになり、関数を複雑にならずに済みます。一つの姓当りに3列を追加する形で表を作成し、作業列は後で非表示にすればよいでしょう。例えばB1セルに田中と入力します。
C1セルには次の式を入力します。
=IF($A1="","",IF(COUNTIF($A1,B$1&"*")=0,"",COUNTIF($A$1:$A1,B$1&"*")))
D1セルには次の式を入力します。
=IF(COUNTIF(C:C,ROW(A1))=0,"",INDIRECT("A"&MATCH(ROW(A1),C:C,0)))
C1セルおよびD1セルを選択してから下方にオートフィルドラッグします。
これでD列には田中の姓をもった氏名が並んで表示されます。
同じようにE1セルに石川と入力します。次にC1およびD1セルを選択してコピーし、F1セルに貼り付けます。F1セルとG1セルを選択して下方にオートフィルドラッグすればG列には石川の姓を持つ氏名を並べることができます。
同様の操作で列を追加することでいろいろな姓の氏名をリストアップすることができます。
最後にC列やF列などを非表示すればよいでしょう。
この回答への補足
A B C D
1 担当者 客先
2 秋山 あ商店 秋山 あ商店
3 秋山 い商店 い商店
4 田中 う商店 か商店
5 田中 お商店
6 秋山 か商店
7 星川 き商店
8 星川 く商店
9 星川 け商店
10 田中 こ商店
11 (Bはもっと複雑な名前)
C1に担当者名を入力すればD列に客先を表示なおかつ
C1に客先名を入力すればB列を検索して表示できる。
同一セルで2つの動作をすることができますか?
No.4
- 回答日時:
こんにちは。
このようにしてみたらいかがですか?
C2;秋山
D2 に以下の数式を貼り付けてください。オートフィルでコピーしてください。
=IF(COUNTIF($A$1:$A$10,$C$2&"*")>=ROW(A1),INDEX($A$1:$B$10,SMALL(INDEX(COUNTIF(OFFSET($A$1,ROW($A$1:$A$10)-1,0),$C$2&"*")*ROW($A$1:$A$10),,),COUNTIF($A$1:$A$10,"<>"&$C$2&"*")+ROW(A1)),2),"")
範囲の変更は、数式内を置換で行ってください。手作業ですとミスが起こる可能性が多いです。
$A$1:$A$10
$A$1:$B$10
の二種類です。
なお、INDEX 関数で、最後の数式で、 ROW(A1)),2),"") の2 が、2列目です。1でしたら、元の質問の回答です。あまり多いようでしたら、フィルタ・オプションに切り替えたほうが良いです。
No.3
- 回答日時:
作業列を使用するか、配列関数になります。
作業列案ですがA B C
1 田中実 田中
2 石川武
3 中田英人
4 石崎甚平
5 石川啓子
6 中田康雄
とあったとして、C列に =IF(COUNTIF(A1,"*"&B$1&"*"),ROW(),"")
下へコピィしておけば、田中を含む氏名の行にその行番号が表示されます。
D列に =IF(ISERROR(SMALL(C:C,ROW(A1))),"",INDEX(A:A,SMALL(C:C,ROW(A1))))
として下へコピィしてみてください。
作業列が見苦しければ非表示にしておきます。
No.1
- 回答日時:
関数ではなく、フィルタで対応できます。
まず、表を下記のようにします。
A B
氏名 氏名
田中実 石川
石川武 中田
中田英人
石崎甚平
石川啓子
中田康雄
そして、データ→フィルタ→フィルタ オプションの設定を選択
抽出先を「指定した範囲」にチェック
リスト範囲 A列の文字が入っている範囲すべて
検索条件範囲 B列の文字が入っている範囲すべて
抽出範囲 C1
上記の設定で、添付のようになります。
この回答への補足
その方法も良いかもしれませんが、やはり関数を用いてセルにB列に文字列を
入力して、その結果をC列に反映させたいです。
関数にこだわる理由は、A列のデータが1500件もありますからフィルタで
操作するのは面倒。手動マクロを設定すればよいかもしれませんが、
もっと簡単に、入力でババッと検索したいです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルの参照について教えてください 1 2022/12/08 16:06
- Excel(エクセル) 表示形式、文字列セル(列)に数式を入力するには マクロ 1 2022/09/18 10:53
- Visual Basic(VBA) Excel VBA 転記について 2 2023/02/28 08:34
- 計算機科学 Excel ある行と列が交わったところにマークを付けるには 7 2023/01/24 08:46
- 野球 WBC 1 2023/03/07 15:56
- Excel(エクセル) 範囲指定をした中で、住所の列をユーザー設定の並べ替えをしたい 3 2022/05/15 13:51
- Excel(エクセル) エクセルの参照について教えていただけますでしょうか 1 2022/12/16 11:35
- その他(芸能人・有名人) 今年の紅白歌合戦をおたずねします 1 2022/10/17 20:29
- 政治 首相になってほしい 1位河野太郎 2位小泉進次郎 3位石破茂 4位高市早苗 5位山本太郎 5 2022/09/27 11:35
- 野球 オールスターゲーム セ・リーグ 1 2022/06/07 23:46
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【スプレドシート】IMPORTRANGE...
-
VLOOKUP関数について
-
1つのPCに「Excel 2010」「Exc...
-
【スプレッドシート】指定の日...
-
英数字のみ全角から半角に変換
-
Office 2021 Professional Plus...
-
会社PCのメールが更新されない
-
マイクロソフト オフィスについて
-
vb.net オブジェクト指向につい...
-
【スプレッドシート】白色のセ...
-
Microsoft Formsの「個人情報や...
-
Excel VBA 日程表からスケジュ...
-
スプレッドシートにて、条件付...
-
【スプレッドシート】最初の契...
-
teams設定教えて下さい。 ①ビデ...
-
Windows 11で、IME言語バー(IM...
-
大学のレポート A4で1枚レポー...
-
outlookで宛先が異なるメールを...
-
エクセルで例えば、A1に㈱ベ...
-
Googleのスプレッドシートでシ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【スプレドシート】IMPORTRANGE...
-
マイクロソフト 一時使用コード...
-
英数字のみ全角から半角に変換
-
Office2021を別のPCにインスト...
-
Microsoft Formsの「個人情報や...
-
officeビジネス型のワードやエ...
-
会社PCのメールが更新されない
-
【スプレッドシート】指定の日...
-
Microsoft Officeを2台目のPCに...
-
何このステータスバー
-
2つのシートの一致する行のセ...
-
会社のTeamsのことで相談です。...
-
エクセルにリンクされるのをし...
-
Windows 11で、IME言語バー(IM...
-
office2010とoffice365の共存で...
-
Microsoftのパソコンです。 エ...
-
エクセルでXLOOKUP関数...
-
Excel関数について質問ですm(__)m
-
VBA
-
自分の専門分野の仕事。初見で...
おすすめ情報