
セル内に2 つ以上の ( ISNUMBER
SEARCH
) ステートメントをネストしようとしていますが、最後の 2 つは機能しません。最初の 2 つの引数 ("n/a" と "r") は機能しますが、3 番目と 4 番目の引数は間違ったデータを取得します。
セルに 2 つ以上の検索を設定できますか? 数式のどこが間違っているのでしょうか?
=IF(ISNUMBER(SEARCH("N/A",$L2)),$E2+$AY$2,IF(ISNUMBER(SEARCH("r",$L2)),$E2+$AY$3,IF(ISNUMBER(SEARCH("rr",$L2)),$E2+$AY$4,IF(ISNUMBER(SEARCH("rrr",$L2)),$E2+$AY$5))))
ご協力ありがとうございます
答え1
これは、数式が「rr」と「rrr」セル値の両方で単一の「r」を検出するために発生します。ISNUMBER 条件の順序を変更してみてください。「rrr」から始めて、「rr」、最後に「r」とします。これで動作するはずです。
=IF(ISNUMBER(SEARCH("N/A",$L2)),$E2+$AY$2,IF(ISNUMBER(SEARCH("rrr",$L2)),$E2+$AY$5,IF(ISNUMBER(SEARCH("rr",$L2)),$E2+$AY$4,IF(ISNUMBER(SEARCH("r",$L2)),$E2+$AY$3))))
よろしくお願いいたします、ルーカス
答え2
式を整理すると次のようになります。
IF( ISNUMBER(SEARCH("N/A",$L2)),
$E2+$AY$2,
IF( ISNUMBER(SEARCH("r",$L2)),
$E2+$AY$3,
IF( ISNUMBER(SEARCH("rr",$L2)),
$E2+$AY$4,
IF( ISNUMBER(SEARCH("rrr",$L2)),
$E2+$AY$5
)
)
)
)
今、私たちは次のことを見ています:
- 最後の(最も内側の)IF() には ELSE セクションが含まれていません。
- 2 番目の IF() は、さらに内側の IF() によってテストされた値に対して True を返します。したがって、外側の IF() がすでに True を実行しているため、内側の IF() は True を返すことができません。
推奨事項: SEARCH() を単純な方程式テストに置き換えます。
答え3
関数SEARCH
を使用するとISNUMBER
、セルに特定のテキストが含まれているかどうかを確認できます。
SEARCH
検索文字列が見つかった場合はその位置を返します。また、数式は を使用してISNUMBER
その数値位置を検索し、検索文字列が見つかったかどうかをテストします。
あなたの場合、rr
または を探している間rrr
、数式はと のr
間でを探し、そのたびにまたはの代わりにを計算します。rr
rrr
$E2+$AY$3
$E2+$AY$4
$E2+$AY$5
またはL2
以外のテキストが含まれている場合も、同じ数式が機能します。rr
rrr
@Muji はうまくいきました。検索文字列を逆の順序で使用したので、数式は最初にrrr
then rr
& r
inを見つけてrrr
、正しく動作します。
シンプルな方法でIF function
これらすべてを正常にテストできます。
=IF($L$2="N/A",$E$2+$AY$2,IF($L$2="r",$E$2+$AY$3,IF($L$2="rr",$E$2+$AY$4,IF($L$2="rrr",$E$2+$AY$5))))
必要に応じて数式内のセル参照を調整します。