• 締切済み

(MS-Excel数式) 複数の対応を簡潔にしたい

例:参照セルの値が数値Aであれば=数値Bを返す A=B→2=1,5=2,6=3,11=4,・・・ 数値Aが、たとえば1,2,3…とか2,4,6…なら2で割ればCHOOSE関数が、A=Bが少ない場合はIF文が、それぞれ有用だと思いますが、1,2,3…にならなくて数が多い場合は数式が長くなるのを、簡潔にしたいというか、何か単一または組み合わせて、簡潔になる関数や数式がありそうな気がして質問しました。 実際に作りたい数式は、上記で1,2,3…となったものを、CHOOSE関数で括ろうと考えています。 言い方を変えれば、例えば=CHOOSE(A1,,A,,B,C,,,,D…)または=CHOOSE(長い数式,A,B,C,D…)となるのを、=CHOOSE(短い数式,A,B,C,D…)にしたいということです。 ただし、複数のセルを使って行程的に1,2,3…を導く方法はナシでお願いします。 いくつものセルに、それぞれA=Bの対応が異なる数式を入れる必要があるので、手間とミスの可能性で困っています。 よろしく、お願いします。

みんなの回答

  • chonami
  • ベストアンサー率43% (448/1036)
回答No.1

すみません。質問内容がよくわかりにくいのですが、対応表を作ってVLOOKUP関数でも使えばいいのではないでしょうか? もう少し、内容を整理して質問されたほうが回答がつきやすいと思いますよ。

boocyaw
質問者

お礼

ありがとうございます。 LOOKUP系や別のセルを使えば、簡単で解りやすいですが、配列などを使って、ある値から別の値を導く方法があるだろうと思って質問しました。 内容を変えて、改めて質問します。

関連するQ&A

  • EXCEL 数式が入った空白セルを数える

    毎度お世話になっています。 質問の内容ですが、例えば下記のようなシートがあるとします。 セルB1、セルC1、セルD1:手入力セル セルA1:数式「=IF(B1="","",B1+C1)」 セルA2:文字列 セルA3:数式「=IF(D1="","",D1*0.1)」 セルA4:文字列 セルA5:A1+A3の計算結果を表示 (※なお、セルA2、A4は数値が入らない) というような場合において、 ●セルB1、C1、D1になにも入力されていない場合、セルA5が空白となる。 ●セルB1、C1にのみ数値が入力されている場合、セルA5の計算結果がセルA1の値のみ。 ●セルD1にのみ数値が入力されている場合も上記と同様に計算結果が表示される。 以上の条件を満たす数式をセルA5に入力したいのですが、 COUNTBLANKは数式が入っている場合には使えず、COUNTAの場合だとセルA1、A3のどちらにも数値が入った場合に表示される、といった数式になります。 IFをいくつも使えば可能とは思いますが、もう少し単純に数式を作れたらと思い質問をさせて頂きました。 よろしければ御回答宜しくお願い致します。 (内容を訂正したため、いったん質問を削除しました。もし御回答中の方が居ましたら申し訳ありませんでした。)

  • Excel2003の数式設定について教えて下さい。

    Excel2003の数式設定について教えて下さい。 【C1セル】には 数式「=IF(A1="","",A1)」 【D1セル】には 数式「=IF(B1="","",B1)」 【E1セル】には 数式「=IF(AND(ISBLANK(C1),ISBLANK(D1)),"",(IF((C1+D1)=0,"---",C1+D1)))」 と設定した状態で、 【A1セル】に 数値「100」と入力し、 【B1セル】に 数値「200」と入力した場合、 【E1セル】は 「300」と出力されますが、 【A1セル】、もしくは【B1セル】を 空欄にした場合、 【E1セル】は エラーとなり、「#VALUE」と出力されてしまいます。 小生としては、【C1セル】【D1セル】の両セルとも表示上は空欄の為、 ISBLANK関数でTRUEと判定し、【E1セル】は空欄になってほしいのですが、 【C1セル】や【D1セル】には数式が設定されている為、 ISBLANK関数でTRUEと判定されずに、「IF((C1+D1)=0」の演算でエラーとなっている様です。 小生が実現したいこと、 「【C1セル】と【D1セル】の数式の実行結果が空欄以外の時のみ、  【E1セル】の数式を実行する。」 の方法をご存知の方、教えて下さい。お願い致します。

  • エクセルの数式で困っています

    入力数値によって数字が変わるという計算式を作成していますが 例 A1セル=1000 B1セル= 1~10  C1セル=A1*1*0.7  ※C1セル答え700 A1セル=1000 B1セル=11~20  C1セル=A1*1.3*0.7   ※C1セル答え910 A1セル=1000 B1セル=21~30  C1セル=A1*1.6*0.7   ※C1セル答え1120 A1セル=1000 B1セル=31~30  C1セル=A1*1.9*0.7   ※C1セル答え1330 B1セルが10増えていく毎にC1セルのA1に対する掛け率が変わってきます 1~10=1.3倍 11~21=1.6倍 30~41=1.9倍 :  720~731まで 上記のように10増える毎に0.3倍づつ増えていきます A1セルは色々な数値が入り、B1セルに数値を入力しC1セルに答えを出すといった事で 現在IF関数をつかってやっていますが分岐にも限界があるので・・・・ 現在の数式です。 =IF(B1<=10,A1,IF(B1<=20,A1*1.3,IF(B1<=30,A1*1.6,IF(B1<=40,A1*1.9))))*0.7 わかりづらい説明で申し訳ありませんが ご教授宜しくお願い致します

  • エクセルの数式について

    エクセルの数式について詳しい方がいらっしゃれば教えていただけないでしょうか。 例えば、 (1)M28セルに以下の数式が入っているとします。 =IF(INDIRECT(M$19)="","",IF(SUMIF(INDIRECT(M$20),$D27,INDIRECT(M$21))=0,"",SUMIF(INDIRECT(M$20),$D27,INDIRECT(M$21)))) (1)の数式で参照しているセルとして以下のものがあります。 (2)M19セル⇒=CONCATENATE("'計算'!",M13,)&$D$14 (3)M20セル⇒="'計算'!AR6:"&"AR"&$D$15+1 (4)M21セル⇒=CONCATENATE("'計算'!",M13)&$C$16+1&CONCATENATE(":",M13)&$D$16+1 (5)M13セル⇒N(文字列のみ) (6)D14セル⇒152(数値のみ) (7)C16セル⇒5(数値のみ) (8)D16セル⇒150(数値のみ) (9)D27セル⇒1-1(文字列のみ) そこで質問ですが、(1)の式で参照している、M$19やM$20、M$21がどこのセルを参照しているかわからないのです。 例えば、(2)の式では、M19セルには、『'計算'!N152』と表示されます。この数式とその結果としてM19に『'計算'!N152』と表示されるのはわかります。が、『'計算'!N152』がどこのセルのことを言っているのかがわかりません。 『!』があるので、『計算』というワークシートのN152を参照しているのかな・・・?とも思ったのですが違いますよね?! 因みに当ブックの中には『計算』というワークシートはありませんでした。 きちんと説明できている不安ですが、回答いただけると大変助かります。 宜しくお願い申し上げます。

  • エクセルの数式の作り方を教えて下さい。

    エクセルの表計算の数式の作り方を教えて下さい。 例えば、A1+B1=C1 の場合 C1のセルに=A1+B1と入力する所までは分かるのですが、A1に入力してB1には入力しなかった場合C1にはA1の数値が入りますが、A1かB1のどちらか一方が入力されてない場合はC1のセルを空欄にする計算式を教えて下さい。

  • エクセル:数式の結合

    お世話になります。 A1セルに =B1 A2セルに =B2+C2 A3セルに =B3+C3+D3 ・・・ という式があるとします。 ここにそれぞれのF列の数式を追加したいと思います。 A1セル =B1+(F1の数式) A2セル =B2+C2+(F2の数式) A3セル =B3+C3+D3+(F3の数式) ・・・ となるようにしたいのですがどのようにすればよろしいでしょうか? 結果だけであれば足し合わせればよいのですが数式を書き換えたいというのが希望です。 (最終的にはA列の数式とF列の数式をあわせてひとつの列にしてしまいたいのです) 置換や関数ではどのようにしたらいいかわかりませんでした。 (マクロは手を出したことがありません) 文字列の結合ならCONCANTATE関数でできるのですが中の数式をうまく結合するには・・・ と考えていっても無理でした。 すみませんがお教えください。

  • エクセルの数式のコピーについて教えてください。

    A1のセルに、「+sheet1!A1」 という数式があるとします。この数式をB1、C1、D1のセルに貼り付けると、「+sheet1!B1」、「+sheet1!C1」、「+sheet1!D1」というようになるんですけど、これを、「+sheet1!A2」、「+sheet1!A3」、「+sheet1!A4」、というように、B1、C1、D1のセルに貼り付けることって出来ますか?

  • Excelでファイル参照を数式で表現したい

    Excel上で数式でファイル参照を表現し、 参照先のセルの値を表示させたいのですが、文字列として表示されてしまいます。 どのように記述すれば解決できますでしょうか。 現在、以下の方法を試みていますがうまくいきません。 ・A1セルに参照先のフォルダパスを記入 (例: D:\Application\ ) ・B1セルに参照先のファイル名を記入 (例: A.xlsx ) ・C1セルに参照先のシート名、セル番地を記入 (例 : Sheet1'!$A$1 ) ・D1セルにA1~C1セルを組み合わせた数式を記述 ="='" & A1 & "[" & B1 & "]" & $C$1 ※ 数式として次のようになります。 ='D:\Application\[A.xlsx]Sheet1'!$A$1 D:\Application\A.xlsx のSheet1のA1セルに test と記述されいる場合、 ここでD1セルに test と表示されてほしいのですが、 上記の数式が、そのまま文字列として表示されてしまいます。 A1~D1の書式は全て「標準」に設定しています。 また、このD1の値を他のセルに値として貼り付けて、Enterを押せば、test と表示されます。 数式に誤りはないはずなのですが、D1セルで直接 test と表示する方法はあるのでしょうか。

  • エクセルの数式簡素化

    連続したセル間(B2・C2・D2)に○△×のどれかがあればE2に○△×を表示させるには 今の私の知識では=IF(OR(B2="○",C2="○",D2="○"),"○",IF(OR(B2="△",C2="△",D2="△"),"△",IF(OR(B2="×",C2="×",D2="×"),"×",""))) のように手間のかかる数式を入れています。 もっと簡素化できる式があれば教えてください。 補足説明 B2~D2の間の3個のセルには必ず○△×のどれか一つだけの印を1箇所のみしか入れてはいけないルールが前提としております。 印だと手間がかかるが○=1、△=2、×=3など数字化にすればもっと簡単となるのでしたら そちらのほうもアドバイスおねがいします。

  • (MS-EXCEL)ある値から別の値を導きたい

    Aセルの値に基づいて、Bセルの値を関数で設定する、その関数の質問です。 Aセルが3なら→Bセルは1 Aセルが7なら→Bセルは2 CHOOSE関数では、このような条件が多いとか、Aセルの値が大きいと、「,」の数が多くなって大変です。 配列を使うなどして、簡単というか解りやすい数式を探しています。 ただし、別のセルを使う方法はナシでお願いします。

専門家に質問してみよう