こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

エクセルのvlookupに関して

お世話になります。

会員番号を数字だけではなく、アルファベットも付けたものを使用したいと思っております。


00001A, 00002A, 09999A

会員番号セルの書式設定のユーザー定義に「00000"A"」を指定したのですが、
VLOOKUPの検索値セルに00001Aと入力した時にエラーが出てしまいます。

会員番号セルに直打ちで00001Aと入力すると参照は出来るようになるのですが、
1万以上のセルに連番した会員番号(00001A~09999Aまで)を入力しなくてはいけないので、
一つ一つ直打ちするのはとても大変で困っております。

00001A~09999Aまでの連番を簡単に入力でき、
VLOOKUPの検索値セルでも参照可能となる方法は御座いますでしょうか。

何卒ご解答の程よろしくお願い致します。

投稿日時 - 2012-04-23 13:14:19

QNo.7436874

困ってます

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

こんにちは!
連番作成の一例です。

当方使用のExcel2003の場合です。
A・B列にはデータがないとします。
A1セルに 1 を入力
A1セルを選択 → メニュー → 編集 → フィル → 連続データの作成 → 「列」を選択
→ 「停止値」に 9999 と入力しOK
これでA1セル以降に1~9999の連番が表示されます。
B1セルに
=TEXT(A1,"00000")&"A"
と入力し、B1セルのフィルハンドルでダブルクリック!
これでB列に「00001A」~「09999A」のように表示されます。
B列すべてを選択 → 右クリック → コピー → A1セルを選択 → 右クリック →
「形式を選択して貼り付け」 → 「値」を選択しOK
最後にB列すべてを削除!
これでA列になんとかご希望通りの表示がされると思います。

※ Excel2007以降の場合は手元にないので「フィル」の操作をはっきり覚えていませんが・・・
「ホーム」タブ → の中の「編集」の項目内にあったような気がします。
操作方法は上記と全く一緒です。
この程度でごめんなさいね。

参考になりますかね?m(_ _)m

投稿日時 - 2012-04-23 15:39:20

ANo.4

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(5)

ANo.5

会員番号のセルの表示形式を 00000"A" している場合にはパソコンでは数値だけが入力されていると解釈しています。00001Aと表示されていても1の数値と解釈していますのでVLOOKUP関数で検索する場合でも数値のみで検索することが必要です。検索する値に00001Aと入力したのでは文字列の入力で数値ではありませんのでエラーになってしまいます。
検索する値もたとえば1と入力し、セルの表示形式で 00000"A" のようにすればパソコンは数値どうしで検索がされますので正しい答えを得ることができます。

投稿日時 - 2012-04-23 15:52:11

ANo.3

VLOOKUP検索値のセルにも
>書式設定のユーザー定義に「00000"A"」を指定
しておいて,会員番号のセルに記入したとおりの記入内容(数字の1,2,3)を記入し,今まで通りのVLOOKUP関数で検索します。

投稿日時 - 2012-04-23 15:09:48

ANo.2

ANo.1さんの回答のとおり
作業列を設けてTEXT関数を使ってやるのがいいと思います。

VBAになってしまいますが、参考までに。
会員番号がA列に入力されているとして(列は違っていれば修正して下さい)
Sub Macro1()
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
Range("A" & i) = Range("A" & i).Text ここのAの部分を修正
Next i
End Sub

投稿日時 - 2012-04-23 14:19:32

ANo.1

>00001A~09999Aまでの連番
⇒名前ボックス欄に空き列をC列として、C1:C9999と入力→Enter→数式バー欄に=TEXT(ROW(A1),"00000A")入力→Ctrl+Enterキーを同時押下→その状態のままC列で右クリックでコピー→右クリックで形式を選択して貼り付け→値を選択→OK
  以上の操作で00001A~09999Aの文字列データがC列に出来ますので表データの会員番号列に貼り付けで如何でしょうか。

投稿日時 - 2012-04-23 13:45:08

あなたにオススメの質問