No.2ベストアンサー
- 回答日時:
No.1です。
補足の件に関して・・・
1セル内に複数存在する場合があり、その場合は最初に出現したものを表示したい!
というコトですので、関数ではなくVBAになってしまいますが一例です。
尚、前回アップした画像通りでD列に表示したいデータを配置しているとします。
画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面に
↓のコードをコピー&ペーストしてマクロを実行してみてください。
(Alt+F8キー → マクロ → マクロ実行です)
Sub Sample1() 'この行から
Dim i As Long, k As Long, endRow As Long, c As Range
endRow = Cells(Rows.Count, "A").End(xlUp).Row
If endRow > 1 Then
Range(Cells(2, "B"), Cells(endRow, "B")).ClearContents
End If
For i = 2 To endRow
For k = 1 To Len(Cells(i, "A"))
Set c = Range("D:D").Find(what:=Mid(Cells(i, "A"), k, 2), LookIn:=xlValues, lookat:=xlWhole)
If Not c Is Nothing Then
Cells(i, "B") = c
Exit For
End If
Next k
Next i
End Sub 'この行まで
※ 関数でないのでデータ変更があるたびにマクロを実行する必要があります。
※ 関数で簡単にできる方法があればごめんなさいね。m(_ _)m
VBAまで考えて頂きありがとうございます。
しかし、仰るとおりデータ変更があるので何とか関数で解決策を模索します。VBAは後学のために参考にさせて頂きます。ありがとうございましたm(_ _)m
No.1
- 回答日時:
こんばんは!
一例です。
大前提として、1セルに1回しか出現しない!と条件です。
↓の画像のように表示したいデータの表を作成しておきます。
今回はD1~D9セルにしています。
B2セルに
=IF(OR(ISNUMBER(FIND(D$1:D$9,A2))),INDEX(D$1:D$9,SUMPRODUCT((ISNUMBER(FIND(D$1:D$9,A2))*ROW(D$1:D$9)))),"")
配列数式になりますので、Shift+Ctrl+Enterで確定!
この画面からコピー&ペーストする場合は
上記数式をドラッグ&コピー → B2セルを選択 → 数式バー内に貼り付け
そのまま(編集可能のまま)Shift+Ctrlキーを押しながらEnterキーで確定!
数式の前後に{ }マークが入り配列数式になります。
これをオートフィルで下へコピーで画像のような感じになります。m(_ _)m
この回答への補足
こんばんは。返信ありがとうございます。m(_ _)m
説明不足で申し訳ありませんでした。
「●●●B2B3●●」など、同セルに2回出現する場合もあります・・・。その場合は、D列で設定した上の文字だけを抽出するみたいな感じはできますでしょうか。
「●●●B2B3●●」の場合は、B2の方が上なので「B2」だけ抜き出す感じです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【画像あり】A1が●+B1と同じ文字がB列にある+C1と同じ文字がC列にある場合D1に〇を付ける 3 2023/03/09 18:18
- Excel(エクセル) Excelの空文字判定について 7 2023/01/06 13:25
- Excel(エクセル) Excel表示形式 2 2022/09/09 09:57
- Excel(エクセル) Excelのマクロで、特定のセルから順番に値を取得したい 5 2022/12/06 15:34
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- Excel(エクセル) エクセルの数式で教えてください。 1 2022/07/08 13:46
- Excel(エクセル) 条件付き書式の設定方法を教えて下さい。 2 2023/04/14 18:12
- Excel(エクセル) capeofdragonと申します Excel2016を使っておりまして 半角又は全角の任意文字列が 2 2022/10/31 13:51
- Excel(エクセル) エクセルの条件付き書式で*を使いたい 4 2022/05/13 16:49
- Excel(エクセル) エクセルで教えて下さい。 2 2022/05/18 13:00
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelの関数について教えてくだ...
-
エクセルファイルがファイルの...
-
一つのセルに(例えばA1)入力...
-
エクセル vbaについて教えてく...
-
Excel 複数列 A列B列C列一致 D...
-
【マクロ】名前を保存する際に...
-
Excelについて教えてください
-
エクセル マクロ チェックボックス
-
エクセルであるセルに数字を入...
-
【Excel】数字を3倍にし、なお...
-
エクセル共有したが、アクセス...
-
【マクロ】顧客番号にて一致さ...
-
Excel分析ツールでのポアソン回...
-
エクセルで年休を管理する方法...
-
エクセルのデーターが2か月前の...
-
LOOKUP関数を使えばいいのでし...
-
エクセル②
-
エクセルを使っていて2024/5/15...
-
Excelでセルの値が同じか...
-
エクセルでの作業計算方法について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
[関数得意な方]教えて下さい・...
-
Excelにてある膨大なデータを管...
-
[関数について]わかる方教えて...
-
Excel初心者です。 詳しい方、...
-
excelの不要な行の削除ができな...
-
エクセル関数に詳しい方教えて...
-
INDIRECTを使わず excelで複数...
-
[オートフィルタ]で抽出された...
-
エクセルの神よ、ご回答を! エ...
-
エクセル関数に詳しい方、教え...
-
各ページの1番上の表示について
-
Excelで写真のような表を作った...
-
エクセルで不等号記号(≠)が上に...
-
数学 Tan(θ)-1/Cos(θ)について...
-
Excel 2019 は、SPILL機能があ...
-
Excelで全角を半角にしたいので...
-
条件付き書式を教えてください
-
Excel フィルターを掛けた状態...
-
[オートフィルタ]の適用範囲の...
おすすめ情報