1 つのセルに複数の選択肢がある IF 関数

1 つのセルに複数の選択肢がある IF 関数

質問フォームの 1 つに対する回答であるデータがいくつかあります。

質問によっては複数の回答がある場合があります。例:

趣味は何?

  1. 旅行
  2. 撮影
  3. スポーツ
  4. ダンシング

各回答には独自の番号があります (上記参照)。

つまり、1 は旅行用、2 は撮影用などです。

一部のセルには複数の回答があります。

たとえば、A3 セルには 1、3、4 が含まれます。数字はカンマで区切られます。

別の Excel シートでは、数値ではなく名前 (単語) として表される回答の表を作成しています。単一の回答の場合は、関数 IF で簡単に作成できます。

IF(A1=1,"Traveling",IF(A1=2,"Filming",IF(A1=3,"Sport",IF(A1=4,"Dancing","Error"))))

しかし、複数の回答があると問題が発生します。セル A3 に Traveling(1)、Sport(3)、Dancing(4) の 3 つの回答があることを Excel が理解できるように、数字を区切るにはどうすればよいでしょうか。

答え1

1,3,4セル内の文字列を使った簡単な解決策は次のとおりですA1次の数式はTravelling,Sport,Dancing、必要に応じて を返します。

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,1,"Travelling"),2,"Filming"),3,"Sport"),4,"Dancing")

注: この方法 (使用) は、SUBSTITUTE最大 9 回まで繰り返すことができます。ただし、読みにくくなるため、この方法はお勧めしません。

答え2

使ってみる検索などのIF(SEARCH("1",A1),"Traveling")代わりになど(例)IF(A1=1,"Traveling")IF(SEARCH("3",A1),"Sport")

答え3

以下を試してくださいユーザー定義関数 (UDF):

Public Function MultiReturns(sIN As String) As String
    Dim i As Long

    nums = Array("1", "2", "3", "4")
    lets = Array("Traveling", "Filming", "Sport", "Dancing")

    MultiReturns = ""
    If sIN = "" Then Exit Function

    ary = Split(Replace(sIN, " ", ""), ",")

    For Each a In ary
        For i = LBound(nums) To UBound(nums)
            If a = nums(i) Then MultiReturns = MultiReturns & "," & lets(i)
        Next i
    Next a

    MultiReturns = Mid(MultiReturns, 2)
End Function

ここに画像の説明を入力してください

ユーザー定義関数 (UDF) はインストールも使用も非常に簡単です。

  1. ALT-F11でVBEウィンドウが開きます
  2. ALT-I ALT-Mで新しいモジュールを開く
  3. 内容を貼り付けてVBEウィンドウを閉じます

ワークブックを保存すると、UDFも一緒に保存されます。2003以降のバージョンのExcelを使用している場合は、ファイルを次のように保存する必要があります。.xlsmそれよりも.xlsx

UDF を削除するには:

  1. 上記のようにVBEウィンドウを開きます
  2. コードを消去する
  3. VBEウィンドウを閉じる

Excel から UDF を使用するには:

=MultiReturns(A1)

マクロ全般の詳細については、以下を参照してください。

http://www.mvps.org/dmcritchie/excel/getstarted.htm

そして

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

UDF の詳細については、以下を参照してください。

http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx

これを機能させるにはマクロを有効にする必要があります。

関連情報