プロが教えるわが家の防犯対策術!

エクセル初心者です

セルのA1に数字の1を入力するとB1の値がA1に表示、A2に数字の2を入力するとB2の値がA2に表示されるようなものを作りたいのですが・・・
どなたかご教授お願いします

例えば、A1に1を入れるとB1の値"北海道"がA1に表示され、A2に2を入れるとB2の値"青森"がA2に表示といった感じでです

宜しくお願いいたします

A 回答 (7件)

No3,5,6です。


補足要求をしましたが時間がないので、No6での以下の理解、

B4がROOT,C4が♭9,D4が9,E4がm3,F4がM3~M4がM7
置き換え対象はB6:W11の範囲

ということでいいのなら以下で出来ます。

1.シートのタブを右クリックし、コードの表示を選択
2.出てきたVBエディター(白い画面)に下記をコピペ

Private Sub Worksheet_Change(ByVal Target As Range)
Dim x
If Intersect(Target, Range("B6:W11")) Is Nothing Then Exit Sub
x = Target.Value
Application.EnableEvents = False
Target.Value = Range("A4").Offset(0, x)
Application.EnableEvents = True
End Sub

3.AltキーとF11キーを一緒に押してワークシートへもどります。
    • good
    • 0
この回答へのお礼

すいません
思うようにはいきませんでした
お手数をおかけしました
ありがとうございます

お礼日時:2006/05/11 18:18

> もし1ならばB4の"ROOT" 、2ならば"♭9"、3ならば"9"、4ならば"m3"、5ならば"M3"、6ならば"4"、7ならば"♭5"、8ならば"5"、9ならば"♭6"、10ならば"6"、11ならば"m7"、12ならば"M7"です



B4に"ROOT"という文字列があるんですね?
では、"♭9"はC4セル、というように行方向(横)にデータ12種類が入っているんですか?
それでB6:W11の範囲に1から12の数字を入れてたら、それが12種類のデータに自動的に置き換われば委員ですか?
    • good
    • 0

No3です。



すみません。勘違いしてました。
さきほど回答したのは数字の入力をすべてA1にして、B列から、入力された数の行の値を、A1にもってくる方法です。
再度よく見たら、入力先はA1からA2以下にどんどんさがるんですか?
ちょっと理解できませんでした。すみません。

この回答への補足

すいません ややこしくてうまく説明できなくて
例は分かりやすく単純な例を言ったつもりでしたが・・・

正確にはB6:W11の範囲に1から12の数字を入れていきます
もし1ならばB4の"ROOT" 、2ならば"♭9"、3ならば"9"、4ならば"m3"、5ならば"M3"、6ならば"4"、7ならば"♭5"、8ならば"5"、9ならば"♭6"、10ならば"6"、11ならば"m7"、12ならば"M7"です
つまりはギターの音名なんですよ(笑)

補足日時:2006/05/11 17:11
    • good
    • 0

質問の内容を見ると、A1のセルに数字を入れると、A1の表示が変わって文字が出るようにしたいと見えますが、こういうのは不可能です。

A1に数字を入れ、別のセルに対応する文字を出すことは可能ですが。
No1の方の書いたVlookup関数を使うのが一番良いです。
ですからA1セルに数字を入れてB1セルに対応する文字を表示する様にし、一覧表をD列とE列で作り表示させると言うような方法です。このとき一覧表にはコードが必要ですからD列に1から順に数字を連番で降り、E列に県名を入力しておかないといけません。(このとき列番号は関係ないですので必ずコードを作ってください)
    • good
    • 0
この回答へのお礼

ご指摘の通りなんです
VLOOKUPでは隣のセルに表示は表示できるんですよね
同じセルにはできなくて・・・
ありがとうございます

お礼日時:2006/05/11 17:11

セルの配置がおっしゃる通りなのであれば、



1.シートのタブを右クリックし、コードの表示を選択
2.出てきたVBエディター(白い画面)に下記をコピペ

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$A$1" Then Exit Sub
x = Target.Value
Application.EnableEvents = False
Target.Value = Target.Offset(x - 1, 1)
Application.EnableEvents = True
End Sub

3.Alt+F11キーでワークシートへもどります。

簡単でしょ?試してください。
    • good
    • 0

質問


1、入力するセルは、A1とA2だけで宜しいですか?
2、表示するセルは何処ですか?。
3、表示されるデータ(北海道とか青森)はB1からいくつになりますか?。
4、例えば、A1に1以外の数字を入れても反応なしにするのですか?。

この回答への補足

わかりやすく単純な例にしましたが、本当は範囲はもっと大きいです
C6:W11です

この中に1を入力すると"ROOT" 2を入力すると"♭9"といった感じで1から7までの数字です
表示データも7種類です

入力データは必ず1から7のいずれかになります

補足日時:2006/05/11 17:09
    • good
    • 0

a1に1という数字を入力したとき、a1に"北海道"と表示させることは一般的はできないと思ったほうがいいです。

でも次のようなことはできます。

a列  b列
1   北海道
2   青森
3   岩手
4   秋田
(以下続く。a列はコードの小さい順にソートする必要があります)

というテーブルがあり、c1に数字を入れたときにd1に県名を表示させることならば、d1に
 =VLOOKUP(c1,a:b,1,0)
と入力すれば可能ですが・・・
    • good
    • 1
この回答へのお礼

ご指摘の通りなんです
VLOOKUPでは隣のセルに表示は表示できるんですよね
同じセルにはできなくて・・・
ありがとうございます

お礼日時:2006/05/11 17:05

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

このQ&Aを見た人はこんなQ&Aも見ています