アプリ版:「スタンプのみでお礼する」機能のリリースについて

エクセルで、アルファベットで名前を記入した時に、数字に置き換えたいのですが
WEB検索したりしたのですが、エクセル関数に弱いため、難しくて解決できませんでした。
お手数ですが、できるだけ簡単にご説明をお願いできないでしょうか。

規則)A、J、S=1   F、O、X=6     
   B、K、T=2   G、P、Y=7
   C、L、U=3   H、Q、Z=8
   D、M、V=4   I、R  =9
   E、N、W=5

名前    例)YAMADA HANAKO
変換した時   714141 815126

A 回答 (2件)

こんにちは!



手っ取り早くVBAでの一例です。
↓の画像のようにD・E列に対応表を作成しておきます。
(最終行は両セルとも半角スペースをいれています)

元データはA2セル以降にあり、B列に表示するとします。
画面左下の操作したいシート見出し上で右クリック → コードの表示 → VBE画面のカーソルが点滅しているところに
↓のコードをコピー&ペースト → Excel画面に戻り(VBE画面を閉じて)マクロを実行してみてください。
(Alt+F8キー → マクロ → マクロ実行です)

Sub Sample1() '//この行から//
Dim i As Long, k As Long
Dim c As Range, myStr As String, buf As String
For i = 2 To Cells(Rows.Count, "A").End(xlUp).Row
For k = 1 To Len(Cells(i, "A"))
myStr = Mid(StrConv(Cells(i, "A"), vbNarrow), k, 1)
Set c = Range("E:E").Find(what:=myStr, LookIn:=xlValues, lookat:=xlPart)
buf = buf & c.Offset(, -1)
Next k
Cells(i, "B") = buf
buf = ""
Next i
End Sub '//この行まで//

※ アルファベット限定としています。
E列にない文字があるとエラーになります。m(_ _)m
「エクセル:アルファベットで名前を記入し、」の回答画像1
    • good
    • 0
この回答へのお礼

助かりました

tom04さん

早速にありがとうございます!教えていただいた通りにやってみたらすぐにできました!!
「教えて!goo」は初投稿で、こんなに早く、丁寧にお返事をいただき、感動しています。
tom04さんとても分かりやすく教えていただきありがとうございました!

お礼日時:2018/01/13 13:21

添付図参照


C1: =LEN(A1)
D1: =IF(COLUMN(A1)>LEN($A1),"",IFERROR(VLOOKUP(MID($A1,COLUMN(A1),1),clist,2,FALSE)," "))
ただし、clist は、範囲 AS1:At26 に付けた名前
セル D1 を右方にズズーッと(W列まで)オートフィル
セル X1 は空白のまま放置
Y1: =X1&D1
セル Y1 を右方にズズーッと(AQ列まで)オートフィル
B1: =AQ1
範囲 B1:AQ1 を下方にズズーッとオートフィル
「エクセル:アルファベットで名前を記入し、」の回答画像2
    • good
    • 0
この回答へのお礼

解決しました

mike_gさん

ありがとうございます。ビジュアルでわかりやすくまとめてくださり
たすかりました。
本当にありがとうございます。

お礼日時:2018/01/13 14:00

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!