- ベストアンサー
Excelで…
Excelで関数を使ってAは1、Bは5と自動入力出来るようにVLOOKUPを使って入力したんですが、Aは1、Bは5と設定したので、ABは15と出るようにしたいのですがエラーが出てしまいます。どうしたらいいんでしょうか?
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
ツール-マクロ-VBEで出てくる画面のメニューで 挿入-標準モジュールをクリックして出てくる画面に Function bngo(a) s = "" For i = 1 To Len(a) x = Asc(Mid(a, i, 1)) If x >= Asc("A") + 9 Then x = Asc("A") - 1 s = s & Trim(Str(x - Asc("A") + 1)) Next i bngo = s End Function を貼りつけ、A列にABCなどが入るとして、ワークシートB列B1に=bngo(A1)と入れて下へ複写すれば良い。 Jより後は0にしました。 また半角英字大文字を入れることにして上記はプログラムしてます。小文字の場合は3箇所のAをaに変えてください。 ABC 123 A 1 AJ 10 BD 24 AK 10 AJDF 1046
その他の回答 (6)
- SAKURAMYLOVE
- ベストアンサー率30% (162/533)
回答が質問者抜きでどんどん進んでますが、これでよいのでしょうか。 ここはひとつ質問者の補足を待って何をしたいのか見極めて回答したほうが良いのではないでしょうか。
補足
説明不足ですみませんでした。 ようは、在庫管理をExcelでしたいのですが、A=1、B=2、C=3、D=4、E=5、F=6、G=7、H=8、I=9、J=0に当てはめて、例えばA1のセルにDGHと入力したらB1のセルに478と自動的に出るようにしたいんです。こんな感じなのですが、何と説明したらいいのか… 分かりにくい説明で申し訳ないんですが宜しくお願いします。
- imogasi
- ベストアンサー率27% (4737/17069)
A,B,AB,BAしかないのなら =SUBSTITUTE(SUBSTITUTE(A1,"A","1"),"B","5") VLOOKUPを使うなら(選択肢が小数なら) =VLOOKUP(A1,{"A",1;"B",5;"AB",15},2,FALSE) または丁寧には =IF(ISERROR(VLOOKUP(A1,{"A",1;"B",5;"AB",15},2,FALSE)),"",VLOOKUP(A1,{"A",1;"B",5;"AB",15},2,FALSE)) 質問例では3つなのだが、実際の例ではどれだけの組み合わせがあるのでしょうか。回答の適否がガラッと変るからです。 #1さんの「これだけじゃわかりませんよ・・」にそういう意味から同感。
- jindon
- ベストアンサー率43% (50/116)
VLOOKUPですよね。 Lookup table に AB:15のセットを増やせませんか? A 1 B 5 AB 15
- milomilo
- ベストアンサー率22% (6/27)
こんばんは。 この場合は IF 文のほうが使いやすいのではないでしょうか? 例文 A1に A、B,ABを入力すると想定して A2に =IF(A1="A",1,IF(A1="B",2,IF(A1="AB",15))) といれると なると思いますが・・ だめでしょうか?
- SAKURAMYLOVE
- ベストアンサー率30% (162/533)
無理やりなら、VLOOUP関数を&で結合すればできます。 即ち、A1にABが、A,Bのデータ1,2は、D1:E2にはいっているとして、 =VLOOKUP(LEFT(A1,1),$D$1:$E$2,2,0)&VLOOKUP(RIGHT(A1,1),$D$1:$E$2,2,0) ただ、何の目的でしょう? それによってはもっとよい方法があるような気がするのですが。
- b206
- ベストアンサー率20% (19/95)
これだけじゃわかりませんよ・・・
お礼
ありがとうございます。 できました。本当に助かりました。 ありがとうございました。