web-dev-qa-db-ja.com

情報が「true」と「false」からのものである場合、Excelで「はい」または「いいえ」を取得するにはどうすればよいですか?

まず第一に、私はこのフォーラムを訪問しているドイツ人であることを指摘しなければなりません(ドイツ語のWebサイトで役立つ情報は見つかりませんでした)。

これが私の「問題」です。

さまざまな数式を含む非常に広範なスプレッドシートがあります。列RとSには、結果として「true」または「false」を与える式があります。

ここで、次の場合に「はい」または「いいえ」の答えを返す追加の式が必要です。

  • 列Rと列S = "true"-> "yes"
  • 列Rおよび列S = "false"-> "no"
  • 列Rが等しくない列S-> "いいえ"

これには公式があると私は確信しています。誰かが私を助けてくれますか? :-/

4
Guest089

これは単純なAND条件のように聞こえます。

=IF(AND(R1,S1),"Yes","No")
12
Excellll

"TRUE"/"FALSE"ではなくTRUE/FALSEを意味する場合(前者のセットはブール値で、後者は文字列です)、私は個人的に前者を好み、可能な限りブール値への出力も保持します。これらをブール式にしておくと便利です。これにより、式に基づいた式の記述(および式の返却)が非常に簡単になるためです。以下にいくつかのバリエーションの解決策を示します。あなたに合ったものを使ってください。ソリューションは2行目です。

ケース1:RおよびS列の値はブール値であり、ブール値の出力が必要です。

これが解決する最も簡単な方法です。

=AND(R2,S2)

ケース2:R&S列の値はブール値であり、文字列出力が必要です。

少しだけより複雑です。

=IF(AND(R2,S2),"Yes","No")

ケース3:R&S列の値は文字列であり、ブール出力が必要です。

これは、文字列ではなくブール出力を持つことの利点を実証し始めます。

=AND(R2="TRUE",R2=S2)

ケース4:R&S列の値は文字列であり、ブール出力が必要です。

最後に、最も望ましくない(IMHO)状況と解決策。

=IF(AND(R2="TRUE",R2=S2),"Yes","No")

一方がブール値でもう一方がブール値でない場合はさらに悪化しますが、おそらくあなたは今ではアイデアを理解しています。


以下は、上記のすべての動作のスクリーンショットです。列AとBはRとSの代用であり、値はブール形式です。列FとGはRとSの代用であり、値は文字列です。列Cは、上記のケース1のソリューションの出力例を示しています。ケース2のD、ケース3のH、ケース4のIです。

enter image description here


最後に、すべての真/偽の入力バリアントをカバーする数式のセットを次に示します。

ブール出力

=AND(UPPER(TEXT(R2,""))="TRUE",UPPER(TEXT(R2,""))=UPPER(TEXT(S2,"")))

文字列の出力

=IF(AND(UPPER(TEXT(R2,""))="TRUE",UPPER(TEXT(R2,""))=UPPER(TEXT(S2,""))),"Yes","No")

これにより、以下のすべてのケースが説明されます。

  • RとSの両方がブール値です
  • RとSの両方が文字列です
  • 1つの列はブール値で、もう1つの列は文字列です
  • 列間に大文字と小文字の不一致がある(例:列Rが「真」である列Rが「真」である)
4
Iszi