• ベストアンサー

エクセルの関数(論理式)

A1にりんご、B1にapple A2にみかん、B2にorange A3にバナナ、B3にbanana と入力されています。 D1にりんごジュース D2にりんごゼリー D3にりんご と入力されています。 D行に”りんご”を含むセルがある場合は、その真横のE行のセルに すべてappleと表示させるには、E行にどのような関数を入力すればよいですか? 数式内に文字列("*りんご*")は使わずに、セル参照だけで関数を作りたいと思っています。 どなたか教えてください。 宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.4

>すべてappleと表示させるには、E行にどのような関数を入力すればよいですか? 「E行」ではなく「E列」と表現してください。 次のような数式で処理できます。 E1=INDEX(B:B,MAX(INDEX(NOT(ISERR(FIND(A$1:A$7,D1)))*ROW(D$1:D$7)*NOT(ISBLANK(A$1:A$7)),0)))&"" E1セルを下へコピーしてください。 但し、データの最大行が7行目までになっていますので実際のデータに合わせて変更してください。 蛇足ですが、NOT(ISERR(FIND(A$1:A$7,D1)))の部分はISNUMBER(FIND(A$1:A$7,D1))に置き換えても良いでしょう。

その他の回答 (3)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

No.1です。 たびたびごめんなさい。 前回の画像でB列に空白セルがありますので、IFERROR関数は意味がないみたいですね。 E1セルの数式は =IF(D1="","",INDEX(B$1:B$10,SUMPRODUCT(ISNUMBER(FIND(A$1:A$10,D1))*ROW(A$1:A$10)))) に訂正してください。m(_ _)m

  • kkkkkm
  • ベストアンサー率66% (1719/2589)
回答No.2

検索文字列がF1にあるとしたら =VLOOKUP("*"&$F$1&"*",A:B,2,FALSE) とかでしょうか

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! 一例です。 ↓の画像のようにA・B列にデータを作成しておきますが、 関数の参照範囲(画像ではA1~A10セルとしています)には空白セルがないようにしておきます。 まず、使用することはないであろう「*」アスタリクスを入力しておき、空白がないようにします。 (今後データが増える場合は追加が可能です) そうした上でE1セルに =IF(D1="","",IFERROR(INDEX(B$1:B$10,SUMPRODUCT(ISNUMBER(FIND(A$1:A$10,D1))*ROW(A$1:A$10))),"")) という数式を入れフィルハンドルで下へコピーしています。m(_ _)m

関連するQ&A