- 締切済み
エクセルでの三択について
エクセルでA1のセルに1と入力すると10を2を入力すると15を3を入力すると33をA1のセルに表示したいです。 LOOKUP関数を使えばできるのでしょうか。 また、表示した数値を計算式で使用したいのですが、どのようにしたらよいのでしょうか。
- みんなの回答 (7)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17069)
関数の基礎的なことがわかっていないよ。A1セルに関数式を入れても、Aに1と入力すると式は消えてしまうのはエクセルの仕組みで常識。 エクセルの基礎を、少し判っている人に対面で聞くか、スクールでも行って勉強のこと。質問や本を読むレベル以前のレベルなようだ。 ーー ただし、その値を別セルの計算式の中で使いたいなら、1に対する10の10の代わりに、10を出す関数を式のセルの値代わりに置き変えれば仕舞い。 こう言うことも、エクセルを使っているうちに、自然に皆さん会得しているのだろうが。 A1に1と入れてB1セルにその結果の10に10を足したいなら =VLOOKUP(A1,{1,10;2,15;3,33},2,FALSE)+10 のようにする・ A1ーA3に対しB1ーB3は 1-20(+10四手イル) 2-25 3-43 正確には、A1セルなどが未入力の場合の手当ての組み込みが必要だが略。
- keithin
- ベストアンサー率66% (5278/7941)
>エクセルでA1のセルに…を入力すると,……をA1のセルに表示したいです エクセルの関数では,計算結果を数字を記入したセルに表示することはできない,のはエクセルの常識です。 出来ないことを出来ないかなと,ムダなあがきでご相談を投稿する初心者さんは少なくありませんが,出来ないモノは出来ません。 >表示した数値を計算式で使用したい ワザワザこういう注釈を入れているというのは,表示で示す方法は知ってるのかもしれませんね。 それなら最初からそうしておいて,「下流側の計算式」で「1,2,3が記入されていたときには10,15,33と読み替えて計算する」ように仕込めば良いだけのことです。 #できる方法 シート名タブを右クリックしてコードの表示を選ぶ 現れたシートに下記をコピー貼り付ける private sub worksheet_change(byval Target as excel.range) if target.address <> "$A$1" then exit sub if target = 1 then target = 10 if target = 2 then target = 15 if target = 3 then target = 33 end sub ファイルメニューから終了してエクセルに戻る A1セルに1や2や3を記入する。 #「やればできる」を示すためのサンプルですので,追加ご質問は無しで。 「実際にはこうしたかったんです」をご自分で応用できないときは,ヤリタイ事の事実を添えて別途新しいご相談を投稿してみて下さい。
- mar00
- ベストアンサー率36% (158/430)
ANo.3さんの言う通りA1に入力して別の数値を関数を使って表示するのは無理だと思います。 マクロを使えば可能です。 シート名の上で右クリック → コードの表示を選択 → VBE画面が出てきますので下記のコードをコピーして貼り付けて下さい。 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address() = "$A$1" Then Select Case Target Case 1 Target = 10 Case 2 Target = 15 Case 3 Target = 33 Case Else Target = "" End Select End If End Sub 1から3以外の数値を入力した場合は空白になります。
- mu2011
- ベストアンサー率38% (1910/4994)
>エクセルでA1のセルに1と入力すると10を2を入力すると15を3を入力すると33を >A1のセルに表示 ⇒数式とデータ入力を同一セルでできない事はエクセルの常識です。 どうしても1セルで実現したい場合はマクロ(VBA)を学習して下さい。 通常はA1をデータ入力として、参照する数式セル側でLOOKUP,CHOOSE等の関数を 組み合わせて使用します。 例えば、データの妥当性チェックは無視するとIF(CHOOSE(A1,10,15,33)=15,~)、 又は、IF(LOOKUP(A1,{1,2,3},{10,15,33})=33,~)の様な使い方になります。
- Turbo415
- ベストアンサー率26% (2631/9774)
A1に入力してA1に入力したものと別の数値を出すと言うのは、私の知識からすると出来ないはずです。 A1に入力してA2に出すと言うなら、Lookup関数でも、普通にIfを使ってでも出来ますけど。 この条件ならA2に=IF(A1=1,10,IF(A1=2,15,IF(A1=3,33)))といれればでます。 もし、A1に数値が入っていないときとか、1,2,3以外の数値が入ったときの条件があるならそれを足す事も出来ます。上の式を入れたばあい、1,2,3以外の数値が入ったらA2にはFALSEとでます。
- KURUMITO
- ベストアンサー率42% (1835/4283)
A1セルにデータを入力するとしてB1セルには次の式を入力します。 =IF(A1=1,10,IF(A1=2,15,IF(A1=3,33,""))) または =IF(OR(A1=1,A1=2,A1=3),CHOOSE(A1,{10,15,33}),"") あるいは C1セルに1、C2セルに2、C3セルに3と入力し、D1セルには10、D2セルには15、D3セルには33のようにデータベースとしての表を作ります。C列とD列にはさらに条件を追加することができます。 そこでB1セルには次の式を入力します。 =IF(COUNTIF(C:C,A1),VLOOKUP(A1,C:D,2,FALSE),"")
- aokii
- ベストアンサー率23% (5210/22062)
VLOOKUP関数を使えばできます。 C1~C3セルに1,2,3 D1~D3セルに10,15,33 と入力し、 B1セルに、 =VLOOKUP(A1,C:D,2,FALSE) と入力してみて下さい。 表示した数値を計算式で使用する場合、例えば100倍するには、 使いたいセル(例えばE1セル)に、 =A1*100 と入力してみて下さい。