
No.5
- 回答日時:
No4です
失礼しました。
No4の式は横方向へのフィルコピーで列がずれるのを制御していませんでした。(絶対参照をわすれてました)
すでにお気づきかもしれませんが、一部を絶対参照にして
=IFERROR(INDEX($D:$D,AGGREGATE(15,6,ROW(E$3:E50)/(FIND($E$3:$E$50,$C3)>0)/($E$3:$E$50<>""),COLUMN(A1))),"")
としてください。
ありがとうございます。
試してみました。
ROW関数の中にあるE50も絶対参照でしょうか?
=IFERROR(INDEX($D:$D,AGGREGATE(15,6,ROW(E$3:E$50)/(FIND($E$3:$E$50,$C3)>0)/($E$3:$E$50<>""),COLUMN(A1))),"")
できてきて嬉しいです!
No.4
- 回答日時:
No1です。
>全ての結果を横並びでD列の内容を返す方法はありますか?
ほぼそのままの式で可能です。
横並びにするために、右側の空きセル(例えばH列以降)を使うものと仮定します。
H3セルに
=IFERROR(INDEX(D:D,AGGREGATE(15,6,ROW(E$3:E50)/(FIND(E$3:E$50,C3)>0)/(E$3:E$50<>""),Column(A1))),"")
として、右方、下方にフィルコピーすれば可能です。
ただし、
>5万件ほどあるデータなのです。
例示の式は配列計算を行っていますので、5万件に拡張するとそれなりの計算負荷になるはずです。
エクセルで使用可能なメモリ量にもよりますが、負荷がかかりすぎる場合は部分ごとに順に計算させたり、作業セルを用いて計算そのものを分割するなどの工夫をなさった方が良いかもしれません。

No.3
- 回答日時:
重複する最大件数を決めてしまえば、
力技になりますが、関数でもある程度は可能です。
以下、MATCH関数とOFFSET関数で位置を求めて、INDEX関数でコードを表示する例です。
考え方としては、MATCH関数で検索対象の行数を割り出し、次の検索対象は前に割り出した行数の次からを検索範囲にします。
これの繰り返しになります。
①F3にひとつ目の検索結果を表示する式
F3=INDEX(D:D,MATCH(E3&"*",C:C,0))
②G3に2つ目の検索結果を表示する式。
ここからは検索の開始行数をずらしていくので、行番号を指定します。なお、Max行数10の例です。
G3=MATCH(E3&"*",OFFSET(C3,MATCH(E3&"*",C2:C9,0),0,10-MATCH(E3&"*",C:C,0)+1),0)+MATCH(E3&"*",C:C,0)
③以降は、前の式の「MATCH(E3&"*",C:C,0)」の部分に前の式の全てを当て嵌めて式を作ります。
※②の式で既にお分かりかもしれませんが、この方法だと、式はどんどん長くなります。
Excelの関数はその性質上、そのセルに式がセットされていなければ値を表示できません。
また、vbaのようにループを使えないので、数が決まっていないものを個別のセルに表示させるのも苦手です。
重複検出できる(表示を許容できる)個数を予め決めてしまって、「COUNTIF(C:C,E4&"*")」などで重複した本当の数をら一番右の列になどに出力して全て表示できているかの確認をする程度とした方が現実的だと思います。
ありがとうございます。
お教え頂いた数式ですと、E列が含まれるC列の複数検索となってしまいました。C列の中に含まれるE列を複数返したいのです。
VBAが使えるともっと快適に仕事ができそうなのですね。
これを機に勉強しようと思いました。

No.2
- 回答日時:
=IF(E3<>"",IF(ISERROR(VLOOKUP(E3&"*",C:D,2,0)),"",VLOOKUP(E3&"*",C:D,2,0)),"")
但しこの仕様ですと、例えばE3列が「大阪」だけだった場合、その下に「大阪府〜」があったとしても全てD2の「12000267」が検索結果として反映されます。
上のような競合が無いことが保証されていることが前提になります。
ありがとうございます。
分かりづらく申し訳ございません。
A列からC列が1つのデータで、D列とE列が1つのデータなのです。
重複データあると一番上が優先的になるのですね。
補足を入れさせていただきました。
また教えていただけると嬉しいです>_<*
No.1
- 回答日時:
こんばんは
範囲がわからないのでテキトーですが・・・
A3セルに
=IFERROR(INDEX(D:D,AGGREGATE(15,6,ROW(E$3:E50)/(FIND(E$3:E$50,C3)>0)/(E$3:E$50<>""),1)),"")
として、フィルコピーとかではいかがでしょうか?
ありがとうございます。
試させていただきました。
5万件ほどあるデータなのです。
部分一致のような検索にすると一番上のデータを返してしまうのですね。
補足を入れさせていただきました。
また教えていただけると嬉しいです>_<*
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
- Excel(エクセル) Excelでの検索結果を含む行だけを表示させたい 5 2023/03/10 17:08
- Visual Basic(VBA) VBA 検索と入力 Excel ブック ぶぶぶ シート ししし 列V 検索対象の列です 最終行は、お 6 2023/05/17 01:40
- Visual Basic(VBA) VBA初心者です 検索した数字の行に色をつける 5 2023/02/13 14:22
- Excel(エクセル) Excel 値を返す数式についてです 3 2022/11/21 20:08
- Excel(エクセル) Excelで関数を使って入力した値を、関数を抜いた値として扱いたい 1 2022/07/08 02:10
- その他(Microsoft Office) WordやExcelで英数字のみ半角または全角にしたい 6 2022/08/03 08:18
- Excel(エクセル) VLOOKUP が機能しない、その原因は何 ? 8 2022/10/19 12:06
- Excel(エクセル) エクセルの印刷範囲をページ単位で可変にする方法 3 2022/05/23 13:04
- Visual Basic(VBA) vbaサブフォルダーをワイルドカードで取得したい 2 2022/11/15 08:04
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
9月17日でサービス終了らし...
-
エクセル ドロップダウンリスト...
-
特定のセルだけ結果がおかしい...
-
エクセルのdatedif関数を使って...
-
エクセルの循環参照、?
-
【関数】同じ関数なのに、エラ...
-
【マクロ】列を折りたたみ非表...
-
【マクロ】【配列】3つのシー...
-
【マクロ】アクティブセルの時...
-
iPhoneのExcelアプリで、別のシ...
-
【マクロ】EXCELで読込したCSV...
-
【条件付き書式】シートの中で...
-
【マクロ】3行に上から下に並...
-
【マクロ】オートフィルターの...
-
【マクロ】A列にある、日付(本...
-
vba テキストボックスとリフト...
-
エクセル
-
【エクセル】期限アラートについて
-
Excel 複数のセルが一致すると...
-
【マクロ】WEBシステムから保存...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelファイルを開くと私だけVA...
-
エクセルについてどう関数を使...
-
マクロ・VBAで、当該ファイルの...
-
エクセルのセルに画像は埋め込...
-
エクセルで、一部のセルだけ固...
-
【マクロ、画像あり】A表かB表...
-
エクセルでカウントする
-
【マクロ】コードを少しでも、...
-
VBA_日時のソート
-
エクセルで教えてください。 例...
-
エクセル 月間シフト表で曜日ご...
-
セルの左に余白を付ける
-
エクセル
-
エクセルについて教えてください
-
2枚のエクセル表で数字をマッチ...
-
ExcelのIF関数との組み合わせの...
-
エクセルのファイルのコピーを...
-
エクセルで二つのブックの違い...
-
空白処理を空白に
-
Excelのチェックボックスについ...
おすすめ情報
重複データがあると一番上の情報を返してしまうことが分かりました。
ご回答いただきましたお二方、ありがとうございます。
補足というか追加させてください。
C列の中にE列の文字が含まれる場合、
全ての結果を横並びでD列の内容を返す方法はありますか?
結果を返す列はA列ではなく、一番右側で問題ありません。
お二方とも、お時間いただきましてありがとうございました。