EXCELに関して、教えていただきたいことがあり、
投稿させていただきます。
一つのセル内に・・・
A1,B1,C2 とカンマ区切りされたデータがあり、
それをVlookup関数を利用して、
佐藤さん,田中さん,鈴木さん とカンマ区切りのままで、
データ呼び出し処理をしたいと考えています。
A1,B1,C2の段階でセル分割を行い、一つずつのセルで
Vlookup関数を使えば、呼び出すことはできましたが、
扱う件数が多いため、一発処理ができればと考えております。
ご存知の方、教えていただけますでしょうか。
よろしくお願いします。
No.5ベストアンサー
- 回答日時:
回答No4です。
番号の桁が変わった場合のご質問ですが、エクセルを使って作業をするときには出来るだけ分かりやすく簡単にすることが基本です。わざと難しくする必要はないでしょう。カンマで区切っていくつでもデータが増えたらどうしまうかなど質問はきりがありませんね。複雑なデータに対応するためにはマクロを使われるのがよいでしょう。どうしても関数でということであれば次のようなことでもよいでしょう。
例えばA1セルにカンマで区切られた三つのデータがあるとします。B1セルに答えを表示するとしてC1セルからE1セルには三つのデータを表示させ、F1セルからH1セルにはシート2からそれぞれの名前を表示できるようにします。次にその手順を述べます。
初めにA1セルを選択してから、「データ」タブの「区切り位置」をクリックします。「カンマやタブなどの・・・・」にチェックがある状態で「次へ」、区切り文字で「カンマ」にチェックを付けて「次へ」、表示先が$A$1となっているところをC1と入力して「完了」します。
次にF1セルには次の式を入力して右横方向にオートフィルドラッグします。
=IF(ISNUMBER(C1),VLOOKUP(C1,Sheet21!$A:$B,2,0),"")
最後にB1セルには次の式を入力します。
=F1&","&G1&","&H1
操作は面倒ですがデータが幾つに増加しても、桁が幾つに変わっても対応できる方法です。
No.4
- 回答日時:
回答No1です。
一つのセル内に3種の数値が並んで入力されているものを、3人の名前に変えて表示するにはどうしたらよいのかというご質問でしょうか?
シート2にA1セルから下方に数値が、B1セルから下方に名前があるとします。
シート1のA1セルには 10001,10003,10005 のデータが入力されているとしたらB1セルには次の式を入力すればよいでしょう。
=VLOOKUP(MID(A1,1,5)*1,Sheet2!A:B,2,0)&","&VLOOKUP(MID(A1,7,5)*1,Sheet2!A:B,2,0)&","&VLOOKUP(MID(A1,13,5)*1,Sheet2!A:B,2,0)
これでB1セルには 佐藤さん,山田さん,鈴木さん と表示されます。
この回答への補足
KURUMITO様
ご回答ありがとうございます。
上手く動作しました!ありがとうございます。
ただ、元データが、
10001,10002,10003,10004,10005 など決まった数ではなく、
100001や1000008なども含まれる場合は、
対応方法ございますでしょうか。
,のあとも文字列を参照などできればと思っております。
何度も申し訳ございません。
No.3
- 回答日時:
マクロで一気に置換かな?
カンマ区切りの文字列がSheet1のA列にあって、置換する対応表がSheet2のA1から入っているとして、以下でどうでしょう。
Sub SampleMacro()
With Sheets("Sheet2")
nLast = .Range("A1").End(xlDown).Row
For i = 1 To nLast
Sheets("Sheet1").Columns("A:A").Replace What:=.Range("A" & i), Replacement:=.Range("B" & i)
Next i
End With
End Sub
mt2008様
ご回答ありがとうございます。
マクロ処理ですが、当方利用方法を理解しておらず、上手く動作させることができませんでした。
せっかくご回答いただいたのに、申し訳ございません。
No.2
- 回答日時:
関数で一発処理は難しそうさなので
関数を作ってみました。
---
Function a_vlookup(s As String, r As Range, c As Integer, f As Boolean) As String
Dim ss() As String
Dim i As Integer
Dim aa As String
aa = ""
ss = Split(s, ",")
For i = LBound(ss) To UBound(ss)
On Error Resume Next
ii = CInt(ss(i))
If Err.Number = 0 Then
aa = aa & WorksheetFunction.VLookup(ii, r, c, f) & ","
Else
aa = aa & WorksheetFunction.VLookup(ss(i), r, c, f) & ","
End If
Err.Clear
On Error GoTo 0
Next
aa = Left(aa, Len(aa) - 1)
a_vlookup = aa
End Function
----コード終わり----
VBA不可ならば無視してください。
今解っている条件で簡便に作ってあります。
gt-t様
ご回答ありがとうございます。
上記処理ですが、当方利用方法を理解しておらず、上手く動作させることができませんでした。
せっかくご回答いただいたのに、申し訳ございません。
No.1
- 回答日時:
例えば田中さんを検索するのでしたら
=VLOOKUP("*田中さん*",A:B,2,FALSE)
のようにすればよいでしょう。
あるいは田中さんがB1セルに有るのでしたら
=VLOOKUP("*"&B1&"*",A:B,2,FALSE)
早速のご回答ありがとうございます。
一つのセル内に記載されている内容としては、
10001,10003,10005 とコード化された番号となります。
(A1,B1,C2 はセル名のように見え、紛らわしい表現でした。すいません)
別シートに
A B
10001 佐藤さん
10002 田中さん
10003 山田さん
10004 山下さん
10005 鈴木さん と一覧化したものからの呼び出しを考えております。
申し訳ございませんでした。
ご回答お待ちしております。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excel VBA 最終行を取得しVlookup関数をコピーする方法をコーディングで教えてください。 3 2023/05/11 13:14
- Excel(エクセル) 関数EXACT(文字列,文字列)とexcelVBA 3 2022/04/14 15:07
- Excel(エクセル) エクセル表作成について 5 2023/03/12 13:25
- Excel(エクセル) CSVファイルがカンマ区切りにならない。対処法を教えていただきたいです。 仕事でSMS一斉送信ができ 2 2022/07/01 21:24
- Excel(エクセル) EXCEL 関数を教えてください。(A列の同じ値が複数ある場合vlookupで出来ますか) 4 2022/12/07 20:54
- Excel(エクセル) 【Excel関数】値が合致するセルの隣のセルを表示させたい 8 2022/10/12 17:44
- Excel(エクセル) 【再度】Excelの関数について教えてください。 4 2023/07/28 13:06
- Excel(エクセル) 至急です><Excelの関数を教えてください。 2 2022/03/22 17:56
- その他(IT・Webサービス) 高速処理可能な表計算ソフトについて ExcelやGoogleスプレッドシートのような表計算ソフトで、 2 2023/04/29 16:06
- Excel(エクセル) Excelの関数について教えてください。 5 2023/07/28 11:27
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
エクセルVlookup~&””の結果が数値にならず
インターネットビジネス
-
カンマ区切りされたデータからvlookupで検索
Excel(エクセル)
-
Excel関数 該当する値を複数抽出し、一つのセルにカンマで区切ってまとめる方法
Excel(エクセル)
-
-
4
エクセルについて
Excel(エクセル)
-
5
数式の中の値にカンマをつけたいのですが…
Excel(エクセル)
-
6
vlookupで出した値を区切り位置で区切る方法
Excel(エクセル)
-
7
【エクセル】区切り文字が含まれるデータを縦に展開する方法
Excel(エクセル)
-
8
VLOOKUPで一致しないものを抽出
Excel(エクセル)
-
9
条件付書式で「=#N/A」に色を付けたい
Excel(エクセル)
-
10
VLOOK関数で作った請求書で、¥が表示されない
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【スプレドシート】IMPORTRANGE...
-
MicrosoftOfficeの1ユーザー2...
-
MicrosoftOffice2019なんですが、
-
Microsoft 365のディフェンダー...
-
英数字のみ全角から半角に変換
-
Excel 日付を比較したら、同じ...
-
Microsoft Officeを2台目のPCに...
-
Microsoft365の「お支払いを更...
-
会社PCのメールが更新されない
-
エクセル関数について
-
エクセルのシフト表を簡単にGoo...
-
ウィンドウィズ メモ帳で日付だ...
-
会社のTeamsのことで相談です。...
-
バソコンが二台とも壊れ後換装...
-
Microsoft Formsの「個人情報や...
-
複数の写真を1枚に印刷
-
Formsにて、匿名にて回答する方...
-
パソコン画面の中の小さい画面...
-
マイクロソフト 一時使用コード...
-
MicrosoftOfficeについて質問で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【スプレドシート】IMPORTRANGE...
-
【スプレッドシート】指定の日...
-
英数字のみ全角から半角に変換
-
会社PCのメールが更新されない
-
マイクロソフト 一時使用コード...
-
Office 2021 Professional Plus...
-
エクセルで例えば、関数を使っ...
-
Microsoft Formsの「個人情報や...
-
1つのPCに「Excel 2010」「Exc...
-
エクセルで例えば、A1に㈱ベ...
-
理由を教えてください。
-
エクセルでXLOOKUP関数...
-
マイクロソフト オフィスについて
-
VLOOKUP関数について
-
teams設定教えて下さい。 ①ビデ...
-
Googleのスプレッドシートでシ...
-
【Excel VBA】PDFを作成して,...
-
Microsoft365で写真をアルバム...
-
Outlook で宛先が複数の場合の人数
-
Excel テーブル内の空白行の削除
おすすめ情報