• ベストアンサー

EXCELで数字を与えられた文字に変換し、規定のセルに同時に入力したい

いつもお世話になり、誠に有難うございます。 またまたお教えいただきたいのですが、、、  A   B       C   D   E 1伊藤 ピッチャー  2斉藤 レフト 3佐藤 サード 4鈴木 ショート 5 6 7 とあった場合、 C2に「1」を入力すると「伊藤」にすぐに変換され、同時にE4の空白にも「伊藤」が自動入力される関数などがありましたら、ご教示願います。

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

  • ベストアンサー
  • 134
  • ベストアンサー率27% (162/600)
回答No.8

 Vlookupを使うため、A列に挿入し =row()と入力して、9行目までコピーしてください。  そののち、A列は「非表示」としてください。 D1~D9に数字を入れると 入力したセルが、選手名に変わる と解釈しました 1.Alt+F11 を押す 2.F7を押す 3.以下のコードをペーストする Private Sub Worksheet_Change(ByVal Target As Range) Dim MyNum As Single, Name As String If Target.Column = 4 And Row < 10 Then If WorksheetFunction.IsNumber(Target.Value) = False Then End On Error Resume Next MyNum = Target.Value: Name = WorksheetFunction.VLookup(MyNum, Range("a1:c9"), 2, 0) Target.Value = Name End If End Sub 質問文でのE4 (この回答を適用するとF4)を入力すると…につきましては、規則性が不明ですので、割愛させていただきます

acmr
質問者

お礼

お返事いただきまして、誠に有難うございます! ちょっと記述の読解に時間がかかりますが、すぐに取り組んでみます。 お忙しいところありがとうございました!

その他の回答 (9)

  • 134
  • ベストアンサー率27% (162/600)
回答No.10

 締め切っていないということで、E列に名前を入れる方法をお求めなのでしょうかね。  質問に質問を返すのはどうかもと思って、曖昧にしていましたけど、4=ピッチャーというのがよく分からずにいました。 一般的に、1:ピッチャー、2:キャッチャー、3:ファースト、4:セカンド、5:サード、6:ショート…と思っていたもので。 =lookup("ピッチャー",$b$1:$b$9,$a$1:$a$9) とE4セルに入力したら、ピッチャーの名前が反映されはします。  同様に、E7セルに =lookup("レフト",$b$1:$b$9,$a$1:$a$9) と入力すると、レフトの選手が反映されます

acmr
質問者

お礼

ご回答頂き、誠にありがとうございました。 こちらの勉強不足で、質問自体もめちゃくちゃになってしまいました。 改めて、やり直し、また分からないことがありましたら、ご教示願います。

  • 134
  • ベストアンサー率27% (162/600)
回答No.9

少し修正します Private Sub Worksheet_Change(ByVal Target As Range) Dim MyNum As Single, Name As String If Target.Column = 4 And Target.Row < 10 Then 'rowの前にTarget. If WorksheetFunction.IsNumber(Target.Value) = False Then End On Error Resume Next MyNum = Target.Value: Name = WorksheetFunction.VLookup(MyNum, Range("a1:c9"), 2, 0) Target.Value = Name End If End Sub

acmr
質問者

お礼

修正版で取り組んでみます。有難うございます。

  • hyorono
  • ベストアンサー率30% (7/23)
回答No.7

なんども、ほんっとにすみません・・・ ピッチャーなど、ポジションを入力するのは、D列1行目からでなく E列1行目から横。でした・・・ごめんなさい・・・。     D列        E列       F列          G列       H列        I列・・・ 1|            ピッチャー    レフト         サード     ショート   セカンド 2|  2(鈴木)  =IF(VLOOKUP($D2,$A:$C,3,FALSE)=D$1,VLOOKUP($D2,$A:$C,3,FALSE),"") 3|  3(山田) 4|

acmr
質問者

お礼

お返事ありがとうございます!

acmr
質問者

補足

すいません。せっかく回答を頂いたのですが、数式をそのまま利用させていただいても、意味が分からず、答えが導き出せませんでした。 この数式を活用しながら、やってみます! 本当に助かりました。 ありがとうございました。

  • hyorono
  • ベストアンサー率30% (7/23)
回答No.6

たびたびすみません!! E2に書いた式は =IF(VLOOKUP($D2,$A:$C,3,FALSE)=D$1,VLOOKUP($D2,$A:$C,3,FALSE),"") でした。 「=D1」を、「=D$1」に変えてます。

acmr
質問者

お礼

お返事ありがとうございます!

  • hyorono
  • ベストアンサー率30% (7/23)
回答No.5

例えば、ピッチャーを入力したときはE4に、レフトと入力した場合はE7にと、分けたいのですが については、A列を1、2、3・・・B列を名前(1なら伊藤、2なら鈴木など)C列にポジションを入れてください。     D列       E列        F列       G列 1|  ピッチャー    レフト         サード     ショート 2|  2(鈴木)  =IF(VLOOKUP($D2,$A:$C,3,FALSE)=D1,VLOOKUP($D2,$A:$C,3,FALSE),"") 3|  3(山田) 4| E2列に書いた式を、D2~F4(F4はデータがある位置)までドラッグしてください。 これで出来ると思いますよ!

acmr
質問者

お礼

お返事ありがとうございます!

  • hyorono
  • ベストアンサー率30% (7/23)
回答No.4

こんばんわ。 表示だけでは駄目ですか? ビジュアルが「伊藤」になれば良いのであれば 書式設定の表示形式で出来ますが。 その、「伊藤」をほかに計算式などで認識させているのであれば 「1」=「伊藤」とほかの式でも認識させてしまえば大丈夫ですし。

  • maile
  • ベストアンサー率61% (19/31)
回答No.3

お礼や補足の追加の質問を見る限り…。 入力に使ったセル自体を変換したいという意味ならば、関数を使う以上はムリかと。 マクロやVBAを使用すれば可能かと思われますが。

acmr
質問者

お礼

お返事ありがとうございます。 そうですか。無理ですか。。。 無理言ってすいませんでした。。

  • Tasuke22
  • ベストアンサー率33% (1799/5383)
回答No.2

E4には =C2 でいいのでは 問題は本当に C2 と E4 なのかな?

acmr
質問者

お礼

早速のお返事有難うございます。 私の説明不足でした。申し訳ありませんでした。

acmr
質問者

補足

例えば、ピッチャーを入力したときはE4に、レフトと入力した場合はE7にと、分けたいのですが。。。

  • suzukikun
  • ベストアンサー率28% (372/1325)
回答No.1

1伊藤というのを分けてセルにいれておけばVLOOKUPで簡単にできますがそれじゃだめですか?

acmr
質問者

お礼

早速のお返事有難うございます! 勉強不足で申し訳ないのですが、vlookですと、1は残りませんか? 対照表にそった文字をそのまま変換して入力できたらいいな、と思っております。

関連するQ&A