皆さんいつもありがとうございます。
今回困っているのは、昔のポケベルの入力方法を覚えていらっしゃいますでしょうか?入力に4ケタの数字を入れる方式で文字を送信していました。
そんな感じで例えば
表1
A B
1 ア 0101
2 イ 0102
3 ウ 0103
4 エ 0104
:
:
という文字対比表があり、別シートに
表2
A B C D E F G H
1 アイク ア イ ク 0101 0102 0108
2 トーク ト ー ク 0120 0108
上記のような表が2つあります。
表2のA列の文字をB例以降のセル1つずつにMID関数で1文字ずつ表示させ、その文字コードを表1から検索して表示させたいのですが、どうしても記号(ーや々など)が違う文字コードを拾ってしまいます。
正しく検出するには、どのような方法があるか教えて下さい。
宜しくお願い致します。
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
#2です。
>しかし、どうやら『ヽ』『ヾ』『ゝ』『ゞ』『々』『ー』を同一視して
確認してみましたが、そうなるようですね。苦肉の策ですが
ヽ =CODE(B2) 2222
のように1列挿入して文字をCODE関数でキャラクタコードに置き換えてください。
ヽ84992222
ヾ85002223
ゝ85012224
ゞ85022225
々85052226
ー85082227
―85092228
のようになりますので
F1=IF(B1="","",VLOOKUP(B1,表1!$B:$C,2,FALSE))
No.4
- 回答日時:
全角の長音かハイフンの場合に4桁数字はどのようになればよいのですか(対応は?)。
それを書かないで質問しているから、読者側で追試だ出来ない。(「々」も「どう」の字ですか、「〃」の字ですか。こちらの対応4桁コードは?)決まっていなくて、VLOOKUP関数での検索範囲にない(入れられない)場合は、該当なしでエラーになるから、それをISNA関数やISERROR関数でIF関数を使って判別し、スペースをセットすればよいのかな。
ーー
>どうしても記号(ーや々など)が違う文字コードを拾ってしまいます。
VLOOKUP関数はそんな難しいケースは起こらないはず。
対応表の作成さえ間違わなければ。
VLOOKUP関数の第4引数はFALSEにしてますか。
ーー
質問の状況が良く判らない。
No.3
- 回答日時:
Ano1ものです。
VLOOKUP(MATCH(C2,表1!B:B,0),表1!$A:$C,3,FALSE)
この計算式で範囲をよく確認してください。
表1!B:Bや表1!$A:$C の「表1!」は「表1」というシートを指しますがそんな名前のシートがあるのでしょうか。 範囲をきちんと確認してください。
あとはmatch関数だけで見て適切にデータを拾っているか確認してみましょう。match関数が表1の上から何番目という数字になっていればデータは拾えるはずです。
何度もありがとうございます!
きちんと上手くご説明出来なくて申し訳ありません。
表1というシートを作成し、そこからデータを引っ張っていますので、
範囲はこれで大丈夫のはず…なのです。
しかし、どうやら『ヽ』『ヾ』『ゝ』『ゞ』『々』『ー』を同一視して
これらの一番始めに来たものの文字コードを拾っているようです。
match関数でも表1シートのリスト中一番始めに登場した『ヽ』の
文字コードの行を拾って来ていました。
どうしてなんでしょう…?
No.2
- 回答日時:
“ー”のように対応が無い場合はブランクですか?
F1=IF(COUNTIF(表1!$A:$A,B1),VLOOKUP(B1,表1!$A:$B,2,FALSE),"")
この式をコピーして展開させてみてください。
ありがとうございます。
この計算式を使って計算してみたところ、#N/Aの表示になりました。
対応が無い場合はブランク表示ではなく違う記号のコードが表示され
ます。今わたしが
VLOOKUP(B2,表1!$A:$B,2,FALSE)
という計算式で『ー』や『々』を検索すると全て『ヽ』に相当する
コードを拾って来てしまいます。文字を昇順に並べ替えたところ、
どうやら『ヽ』『ヾ』『ゝ』『ゞ』『々』『ー』を同一視して
これらの一番始めに来たものの文字コードを拾っているようです。
No.1
- 回答日時:
まず考えられるのは、VLOOKUP関数の設定を変えればいいと思います。
=vlookup(b1,$X$1:$z$2000,false)
のように第3引数がfalseになっていますでしょうか。
もしこれでもだめなら以下の手があります。
表1のA列に1、2、3と昇順のデータをデータ個数分挿入する。
=match(検査値、範囲、0)で、表1の縦の位置を検出する。
(範囲は、表1のア、イ等のデータが入っている縦の一列)
この関数を以下のように使用する。
=vlookup( match(検査値、範囲、0),データ範囲,位置,false )
(データ範囲は表1のA列の1、2、3等の列も含む)
で値を検出する。
この回答への補足
ご回答ありがとうございます。FALSEは入れてます。
表1
A B C
1 1 ア 0101
2 2 イ 0102
3 3 ウ 0103
4 4 エ 0104
:
となり、表2の『ー』を検索する際には
VLOOKUP(MATCH(C2,表1!B:B,0),表1!$A:$C,3,FALSE)
ということでしょうか?
すみません、MATCH関数がよく理解できていないのか計算結果はやっぱり違うものになってしまいます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/02/02 10:20
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/06/15 14:11
- Visual Basic(VBA) エクセルの数式で教えてください。 1 2023/07/31 15:49
- Excel(エクセル) Excelでの検索結果を含む行だけを表示させたい 5 2023/03/10 17:08
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/02/08 09:05
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/03/09 10:07
- Excel(エクセル) 【関数】選択した文字列にしたがって、文字を選んで表示する 2 2023/07/13 22:44
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/02/15 08:30
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/04/21 08:59
- Excel(エクセル) エクセルの数式について教えてください。 2 2023/02/18 11:30
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
セルの数を求めたい
-
ある表にフィルターをかけて出...
-
Lookup関数
-
Excelを無料で使うには? パソ...
-
IFとIFS関数
-
エクセルの数式バーのフォント...
-
EXCELの散布図で日付が1900年に...
-
Excelの表示についての質問
-
再質問です。マクロの修正箇所...
-
データチェックを行うエクセル...
-
Excelピボットテーブルの1行目
-
エクセル日付 文字列の関数がエ...
-
西暦や和暦の表示をyyyymmdd表...
-
エクセルで「ページレイアウト...
-
【ExcelVBA】名前を付けて保存→...
-
Excelに詳しい方! B列が「日...
-
Excelで50個のセルに同じ文字を...
-
Excelについて
-
Excel関数について教えてくださ...
-
Excelで表を作ったところに文字...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
半角カタカナをヘボン式ローマ...
-
(マクロ)vlookupの元データを同...
-
エクセルで上位バイトのセルと...
-
exselの質問です
-
Excel 大小比較演算子による「...
-
Excel VBについての質問です。
-
エクセルの問題です。絶対値の...
-
非表示列の再表示に失敗
-
職場の人から聞かれており、こ...
-
Excel関数-文字列で自動作成さ...
-
Excelデータをコピペして、ペー...
-
ユーザー定義関数をアドイン登...
-
【マクロ】for next構文について
-
エクセルの日付を編集する
-
【マクロ】VLOOKUPにて参照元に...
-
exselで最小数で並び替える関数
-
libre 表計算ソフトの計算がう...
-
エクセルで表
-
エクセルの表で1年間の曜日を...
-
西暦和暦
おすすめ情報