• ベストアンサー

Excelで、VBAのcase文のような使い方のできる関数(セルに入力して使う関数)はないでしょうか。

free-gooの回答

  • free-goo
  • ベストアンサー率18% (28/155)
回答No.1

VLOOKUP関数では ダメなのでしょうか?? 別の場所に、マスターみないなものを作成する。下記 例ですが H1に 1 I1に「仕入先」 H2に 2 I2に「得意先」 H3に 3 I3に「社員」 B1に 関数 =VLOOKUP(A1,H1:I3,2,FALSE) と、云う具合ですが・・・・VBAでは、ないですが・・・

関連するQ&A

  • エクセル セルに関数などを使って式を入力するには

    セルA1に”A3”、セルB1に”B3”と入力されている時に、 これらの文字を利用して、セルC1に次の式を入力したい。 =$A$3+B3 C1への入力が出来たら、セルA1とB1の値は不要なので削除したいのですが、お分かりの方お願いいたします。

  • エクセルのIF文で10個の条件を指定できるのですか

    単純な質問かもしれませんがよろしくお願いします。 エクセルのIF文でセルの値が1ならA、2ならB、・・・10ならJと表示せよというように10個の条件を指定した式を作ることができるのでしょうか。

  • EXCEL2002でA1セルがif文だったらB1セルに

    こんにちは。 EXCEL2002です。以下のようにするにはどのような関数を使えば良いのか教えてください。 A1セルが・・・・ if文だったらB1セルに"○" if文以外の数式だったらB1セルに"△" 文字や数字の値だったらB1セルに"×"  と表示する。 条件付書式などの回答を見ていろいろ調べましたが、分かりませんでした。よろしくお願いします。

  • Excelの関数式について(IFERROR関数)

    Excelの関数式で、基本的な算数がわからず、質問いたしました。 具体的には、 A1セルとB2セルに整数を入力し、C1セルに 「=IF(ISERROR(ROUND(A1/B1/(1.11831)*1000,2)),"",ROUND(A1/B1/(1.11831)*1000,2))」 という式が入っています。 さらに、D1セルには「=A1*B1」という式が入っています。 この時、D1セル÷A1セル(「=D1/A1」)を計算すると、ほぼ894.2に近しい値となります。 A1セルの値を固定し、B2セルの値をいくつにしても、D1セル÷A1セルの結果が、894.2に近似するのは、なぜでしょうか? お恥ずかしい質問ですが、お知恵を授けてください。

  • ExcelセルにVBAでINDEX関数を入力

    ExcelでINDEX関数とMATCH関数で"B11:E13"セルに以下の数式データがあります。 数式は "B11"=IF(ISERROR(INDEX($A$1:$A$9,MATCH(1,B$15:B$23,0))),"",INDEX($A$1:$A$9,MATCH(1,B$15:B$23,0))) "B12"=IF(ISERROR(INDEX($A$1:$A$9,MATCH(2,B$15:B$23,0))),"",INDEX($A$1:$A$9,MATCH(2,B$15:B$23,0))) "B13"=IF(ISERROR(INDEX($A$1:$A$9,MATCH(3,B$15:B$23,0))),"",INDEX($A$1:$A$9,MATCH(3,B$15:B$23,0))) "C11"==IF(ISERROR(INDEX($A$1:$A$9,MATCH(1,C$15:C$23,0))),"",INDEX($A$1:$A$9,MATCH(1,C$15:C$23,0))) "B15~B23"に数値1~3を入力した場合イニシャルA~I が入力される式ですが、列を連続で入力できるような処理をVBAのWorksheetFunctionで行うにはどのようにコードを記述すればよいのでしょうか。 ご回答のほどよろしくお願いします。

  • エクセルVBAについてお尋ね致します。数式が入力されたセルを異なるセル

    エクセルVBAについてお尋ね致します。数式が入力されたセルを異なるセルの条件によって「値」のみ残す方法を模索しております。 使用する列および行の例 列=A、B  行=5~10、15~20、25~30(A列、B列共通) 上記対象セルの内訳 A列(参照セル)=数値 ※空欄の場合もあります B列(変更セル)=数式(Aセル数値 * ○○%) ※B1セルの例:=IF(A1="","",A1*10%) のような数式が記入されております。 (例) Private Sub CommandButton1_Click() ’参照セルの指定 ("A5:A10","A15:A20","A25:A30") のようなコード*** ※現在はAセルの範囲としておりますが、後に変更の可能性を有しますので範囲指定が可能な形式を望みます。 ’変更セルの指定 セル指定のコード*** ※現在はBセルとしておりますが、これも後に変更の可能性を有しますのでA・B・Cのような入力(もしくはA=1、B=2、C=3)による指定可能な形式を望みます。 ’参照セル(Aセル)に数値が入力されている場合、数式から得られた変更セル(Bセル)の値を”値のみ”で残す。 実行コード*** ※参照セル(Aセル)が空欄の場合は変更を望まないので、変更セル(Bセル)は何も致しません。(数式のまま残す) End Sub このようなマクロを望んでおります。 イメージとしては数値がAセルに入力されていた際に同じ行のBセルにおいて右クリックコマンド内〔コピー〕 → 〔形式を選択して貼り付け〕 → 〔値〕の貼り付けを行うことをご想像下さい。 列や行の変更が予想されるので変更が可能なことを望んでおりますが、結果が伴えば他の体裁は気に致しません。 お手数ですがご教授宜しくお願い致します。 以上

  • Excelの関数で・・・

     私は、エクセルの関数で次の形の式をよく使います。  セル番号A1に  IF(B1="","",・・・・・・・・・・)  みなさんご存知のとおり、『「セル番号B1」が空欄の場合は、「セル番号A1」に空欄を返しなさい。それ以外の場合は・・・・・・・・・・・。』  そこで質問です。  セル番号A1に、  『「セル番号B1」と「セル番号C1」と「セル番号D1」の3つ全部が空欄の場合は、セル番号A1に空欄を返しなさい。それ以外の場合・・・・・・・・・・・。』  とういう式をお教えください。解りにくい文章(説明文)ですがよろしくお願いいたします。

  • Excel IF関数を短くする式を教えて下さい。

    ExcelのIF関数が長くなりすぎて困っています。 短くする方法あれば教えてください。 =IF(A1="",0,IF(A1<4.5,A1,4.5))+IF(B1="",0,IF(B1<4.5,B1,4.5)) のように"4.5より数が小さい場合はセルの値を返し、 4.5より大きい場合は4.5を返す"というのを繰り返し合計していきます。 60セル以上を合計したいのですが、それだと数式が長すぎて・・・ 何か短くする良い式があれば教えて下さい。 よろしくお願いします。

  • エクセル IF文基本を・・・

    「A1の値が1の時 B1の値を表示しろ」と言う IF文を作りたいのです。 =IF(A1=1,B1) 先の様に書いたのですが、ファレスと 出てしまいます、記述がおかしいのでしょうか?

  • Excel関数で 空白値の入力はどう書くの?

    あるセル(B1とします)に =if(A1="a",0,"") とif関数を書きました。 別のセルA2にセルB1を合計するような式( =B1+C1 )と書くと#VALUE! というエラーになります。 多分、B1の値 "" が空白ではなく文字列と認識されているからだと思いますが、""の代わりに空白値をif分の中に指定することはできないのでしょうか? 逃げ手として、A2に書く式を =sum(B1:B1)+sum(C1:C1)とする手はありかと思いますが、できたら空白値を代入したいです。