
エクセル関数で下記表の電話番号(A)と同じものを検索して住所(B)を導き出す際、電話番号(A)のセルに空白があるとうまく検索できません。
空白を無視するまたはセル内の文字列のみを対象にして検索できませんか。
シート1
A B C
03-3333-**** 東京都 犬
045-642-**** 神奈川県 ねこ
03-1111-**** 東京都 兎
シート2
A B
03-3333-**** VLOOKUP(A1.シート1A1:A3,2) =東京都
045-642-****□□ VLOOKUP(A2.シート1A1:A3,2) =エラー
←A2の欄にある資料から電話番語をコピーすると、番号の後に
空白スペースがコピーされてしまうためエラーが出てしまう。
※空白を無視して検索することはできませんか。
わかりにくい質問で申し訳ありません。
No.2ベストアンサー
- 回答日時:
尚、やむを得ない事情により、空白スペースを削除する訳には行かない場合において、もし、Sheet1のA列の方に入力されている電話番号には空白スペースが入っていないという事でしたら、次の様な方法もあります。
【空白スペースが電話番号の前か後ろのみに付いているだけで、電話番号の途中に空白スペースが挟まっている事は無い場合】
=VLOOKUP(TRIM($A1),Sheet1!$A:$A,2,FALSE)
【電話番号の途中に空白スペースが挟まっている事もある場合】
=VLOOKUP(SUBSTITUTE(SUBSTITUTE($A1," ",)," ",),Sheet1!$A:$A,2,FALSE)
尚、もしも、空白スペースが入っている理由が、単に「電話番号がセル内に表示される位置を左詰めや中央揃えにしたい」というだけの事である場合には、それはやむ得ない事情とは言えません。
その様な場合には、空白スペースを削除してしまった上で、セルの書式設定の配置を[左詰め]や[中央揃え]にするのが一般的なやり方です。
No.6
- 回答日時:
もし、空白スペースが電話番号の後ろにのみ付いていて、電話番号の途中に空白スペースが挟まっている事は無い場合には、次の様な方法もあります。
=VLOOKUP(TRIM($A1)&IF(COUNTIF(Sheet1!$A:$A,TRIM($A1)&" *")," *",IF(COUNTIF(Sheet1!$A:$A,TRIM($A1)&" *")," *","")),Sheet1!$A:$C,2,FALSE)
No.5
- 回答日時:
尚、Sheet1のA列に入力されている電話番号の中にも空白スペースが含まれているものがあり、尚且つ、処理が重くなる事は避けたい、という場合には、関数を使用して一旦、別の列に空白スペースを削除した電話番号を表示させておき、その新たに表示させた空白スペース抜きの電話番号を使用して、検索を行う様にします。
この様に、検索等の情報処理が行い易い様にするために使用する列の事を作業列と言います。
今仮に、Sheet3のA列を作業列として使用するものします。
まず、Sheet3のA1セルに次の様な関数を入力して下さい。
=SUBSTITUTE(SUBSTITUTE(INDEX(Sheet1!$A:$A,ROW())," ",)," ",)
次に、Sheet3のA1セルをコピーして、Sheet3のA2以下に(Sheet1において電話番号の表として使用されている最下段の行を上回るのに十分な行数となるまで)貼り付けて下さい。
その上で、Sheet2のB1セルには次の様な関数を入力して下さい。
=INDEX(Sheet1!$A:$C,MATCH(SUBSTITUTE(SUBSTITUTE($A1," ",)," ",),Sheet3!$A:$A,0),2)
No.4
- 回答日時:
配列数式は処理が重くなってしまうため、前に投稿した回答No.1や回答No.2では御勧めしなかったのですが、もし、配列数式の様な処理が重くなってしまう方法でも構わないという場合には、SUMPRODUCT関数を使用するという方法もあります。
(こちらは、配列数式ではなく通常の関数ですので、「Ctrl+Shift+Enter」は不要です)
【空白スペースが電話番号の前か後ろのみに付いているだけで、電話番号の途中に空白スペースが挟まっている事は無い場合】
=INDEX(Sheet1!$A:$C,SUMPRODUCT((TRIM(Sheet1!$A$1:$A$3)=TRIM($A1))*ROW(Sheet1!$A$1:$A$3)),2)
【電話番号の途中に空白スペースが挟まっている事もある場合】
=INDEX(Sheet1!$A:$C,SUMPRODUCT((SUBSTITUTE(SUBSTITUTE(Sheet1!$A$1:$A$3," ",)," ",)=SUBSTITUTE(SUBSTITUTE($A1," ",)," ",))*ROW(Sheet1!$A$1:$A$3)),2)
No.3
- 回答日時:
>A2の欄にある資料から電話番語をコピーすると、番号の後に空白スペースがコピーされてしまうためエラーが出てしまう。
>※空白を無視して検索することはできませんか。検索値の前後に空白(半角/全角)があるときはTRIM関数で両端の空白を除けば正常に検索できます。
=VLOOKUP(TRIM(A1),シート1!A$1:A$3,2) → 東京都
=VLOOKUP(TRIM(A2),シート1!A$1:A$3,2) → 神奈川県
範囲のキー列の文字列の右側に空白があるときはTRIM関数で処理しなくても無視されます。
左側に空白があるときはTRIM関数で処理する必要があります。
=VLOOKUP(TRIM(A1),TRIM(シート1!A$1:A$3),2) → 東京都
この時、TRIM関数の返り値は配列値を必要とするため、式を入力後Ctrl+Shift+Enterで確定します。
尚、シート名とセルの間に ! を忘れないようにしてください。
また、式を他のセルへコピーするときはセルのアドレスを絶対アドレスと相対アドレスを使い分けるようにしてください。
今回の例では範囲のA1:A3をA$1:A$3とすることで下へコピーしても範囲が固定されますので正確に処理されます。
No.1
- 回答日時:
空白スペースが入っている事が問題になっているのでしたら、A列に入力されている空白スペースを全て削除してしまえば良いと思います。
その際、一々、1セル毎に削除して行ったのでは手間が掛かり過ぎますので、次の様な操作を行う事で、A列に入力されている空白スペースを一括して削除されては如何でしょうか。
A列全体をまとめて範囲選択
↓
[Ctrl]キーを押しながら[H]キーを押す
↓
現れた「検索と置換」ダイアログボックスの[置換]タブをクリック
↓
「検索する文字列」欄に半角の空白スペースを1文字だけ入力
↓
「置換後の文字列」欄には(空白スペースも含めて)何も入力されていない状態にする
↓
「検索と置換」ダイアログボックスの[すべて置換]ボタンをクリック
↓
「検索する文字列」欄に全角の空白スペースを1文字だけ入力
↓
「置換後の文字列」欄には(空白スペースも含めて)何も入力されていない状態にする
↓
「検索と置換」ダイアログボックスの[すべて置換]ボタンをクリック
↓
「検索と置換」ダイアログボックスの[閉じる]ボタンをクリック
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA 改行コードの取り方 1 2022/03/22 14:14
- Excel(エクセル) ユーザー定義について質問です。 2 2023/06/28 13:21
- Visual Basic(VBA) 顧客ごとに違う点検案内を作成するマクロ 4 2022/09/16 05:34
- Excel(エクセル) Excel_マクロ_複数のシートのVLOOKUPで表示された#N/A以外に色付けをしたいです 1 2023/02/16 22:37
- Visual Basic(VBA) セルに抜けた番号の代わりに空白を挿入する 4 2023/04/10 20:29
- Excel(エクセル) IFERROR、SMALL関数について 2 2022/08/22 23:40
- Excel(エクセル) xlDownの使い分けについての質問です vbaでxlDownを使って一覧近い空白までのセルをコピー 3 2022/08/04 12:20
- Excel(エクセル) 指定した語句と隣のセルを空欄にする 1 2023/06/18 12:54
- Visual Basic(VBA) ExcelVBAのマクロについて。 9 2022/05/04 14:50
- Excel(エクセル) Excelの関数についての質問です。(vlookup関数) A列 B列. C 1 大阪 50. 検索 6 2023/08/11 13:35
このQ&Aを見た人はこんなQ&Aも見ています
-
VLOOKUPのあいまい検索(スペース入り)
その他(パソコン・スマホ・電化製品)
-
EXCEL95 VLOOKUP関数で半角と全角
Excel(エクセル)
-
Excelでセル参照したとき、書式も一緒に持ってくるには?
Windows Vista・XP
-
-
4
複数の条件に合う行番号を取得するには
その他(Microsoft Office)
-
5
Excel VBAで同じフォルダ内のファイルを開くには?
Excel(エクセル)
-
6
EXCELで2列を参照し、重複するものを横に並べたい
Excel(エクセル)
-
7
エクセルで空白を無視して一番左にあるセルを参照したい
Excel(エクセル)
-
8
EXCELで2つの数値のうち大きい方を採択する数式
Excel(エクセル)
-
9
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
10
自分の部署・担当を言うとき、どういう言い方が正しいでしょうか?? 会社のときは、弊社といいますが、部
その他(ビジネス・キャリア)
-
11
エクセルのエラーメッセージ「400」って?
Visual Basic(VBA)
-
12
Excelで重複データの件数ではなく、何番目かを求める方法
Excel(エクセル)
-
13
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
14
リストと一致する値のセルを塗りつぶしたい。
その他(Microsoft Office)
-
15
ACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ
Access(アクセス)
-
16
条件付書式で「=#N/A」に色を付けたい
Excel(エクセル)
-
17
Excelで数式の入っているセルを空白と認識させたい
Excel(エクセル)
-
18
【Excel VBA】CSV取込時、数字の先頭の0を消えないようにするには?
Excel(エクセル)
-
19
有無、要否、賛否、是非、可否、当否…これらの言葉について
その他(教育・科学・学問)
-
20
Excelで数値→文字列変換で指数表示になったものをいっぺんに直したい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
WindowsXPを最近のパソコンに...
-
絶対にいけるWindowsXPsp3の無...
-
Windows 11 のウィンドゥのうっ...
-
windowsXPでしか起動できないゲ...
-
アウトルックを「タスクバー」...
-
XPがインストールできない
-
Windows XP SP3のインストール...
-
印刷スープラがすぐに停止する
-
windowsのインストールにてISO...
-
履歴書の住所の欄にふりがなを...
-
パソコンでCDを見たい、見る...
-
WindowsXPのプロダクトキーを紛...
-
windows updateについて
-
windows10 フォルダを上書きす...
-
パソコンで一定の文字数を打つ...
-
Windows VistaのPCが家にありま...
-
コンピュータが数秒毎に更新さ...
-
Windows xpにWindows10を無理や...
-
パソコン初心者 下にある何も書...
-
最近、パソコンを起動するとこ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
WindowsXPを最近のパソコンに...
-
絶対にいけるWindowsXPsp3の無...
-
Windows XP SP3のインストール...
-
Windows 11 のウィンドゥのうっ...
-
アウトルックを「タスクバー」...
-
XPがインストールできない
-
windowsのインストールにてISO...
-
PCのエクセルなどのショートカ...
-
WindowsXPのプロダクトキーを紛...
-
パソコンでCDを見たい、見る...
-
エクセルでの文字入力がIMEでし...
-
やっぱり現代のPCにWindowsXPを...
-
windows10 フォルダを上書きす...
-
windows xp proが起動しなくな...
-
最近、パソコンを起動するとこ...
-
ノートパソコンの「各性能」は...
-
フリープリントソフト「かんた...
-
プロダクトキー
-
パソコン起動時に謎のエラー画...
-
Windows xpにWindows10を無理や...
おすすめ情報