web-dev-qa-db-ja.com

ExcelにTRUEまたはFALSEのテキストをブール値として認識させるにはどうすればよいですか?

INT式を使用してブール値TRUEおよびFALSEを1および0に変換しています。しかし、与えられたデータの一部をスプレッドシートにコピーしましたが、Excelがテキストをブール値として認識しない場合があります。

TRUEおよびFALSEのテキストは左揃えで表示され、「一般」としてフォーマットされます。 INT式はこれをブール値として認識しません。ただし、TRUEまたはFALSEのセルをクリックしてEnterキーを押すとすぐに、テキストが中央揃えになり、数式でブール値として認識されて整数に変換されます。

すべてのセルをクリックしてEnterキーを押すことなくExcelでこれを認識させる方法はありますか?

8
Abbie

Excelは、テキスト「TRUE」または「FALSE」を同等のブール値として認識しません...それらを変換する必要がある場合、IFステートメントがタスクを実行します。

=IF(OR(A24,A24="TRUE"),TRUE,FALSE)

IF Statement Example

5
Excel Tactics

古い質問-次の方法は後世のために便利かもしれません。

Excelはブール値をテキストとして認識しています。列全体の形式をGeneralに変更できますが、Excelは各セルをクリックしてEnterキーを押すまで、形式を再評価しません。別の方法は、text-to-columns関数を使用することです。非常に広い固定幅を使用します。結果は同じ単一の列になりますが、Excelは形式を再評価し、trueおよびfalseエントリをすべてブール値に更新する必要があります。

http://dailydoseofexcel.com/archives/2009/10/12/converting-cells-formatted-as-text/

2
Josh

とにかく論理値を数値に変換するのに、テキストも受け入れるように式を調整する代わりにデータを変更したいのはなぜですか:=INT(IF(ISLOGICAL(A1),A1,A1="TRUE"))

1
Máté Juhász

ブール値を実際よりも難しくする傾向があります。これは、私の考えでは、基本的なExcelで問題を処理する最良の方法です(他のすべての値で問題がなければ、「TRUE」はfalseを返します)。

=UPPER(TRIM(A1))="TRUE"

VBAの場合:

Public Function ConvertToBoolean(InputString As String) As Variant

        Dim TempText As String
        TempText = UCase(Trim(InputString))

        If TempText = "TRUE" Or TempText = "FALSE" Then
            ConvertToBoolean = TempText = "TRUE"
        Else
            ConvertToBoolean = InputString
        End If

End Function

空白、大文字/小文字、その他の値を扱います。

1
Gunter

スペースが埋め込まれたデータを貼り付けた可能性があります。

「true」と「false」は自動的にTRUEに変換され、FALSEは「true」と「false」がテキストのように扱われます。

0
J Cohn

TRIM関数を使用すると、ターゲットセルのブール値がTEXTとして評価されます。 A2 = TRUE(ブール)B2:= IF(TRIM(A2)= "TRUE"、 "Y"、 "N")は、 "Y"となる関数内で "TRUE"と評価します。

0
rfk

これらの解決策はどれもうまく機能しなかったため(非常に長い式でテキストが生成されたため)、イライラして自分の解決策を書きました。

Public Function ConvertToBoolean(InputString As String) As Variant
Dim TempResults As Variant

If InputString = "True" Then
    TempResults = True
ElseIf InputString = "False" Then
    TempResults = False
Else
    TempResults = InputString
End If

ConvertToBoolean = TempResults


End Function

これは1と0を処理することには影響しませんが、文字列をラップして、True、False、または元の文字列に戻すことができます。

0
Selkie

TRUE/FALSEの列に対して=TYPE(Value)は何を示していますか?

私はLibreOfficeを使用しており、「本当の」Excelではありませんが、テキストフィールドでさえ正しく認識します...

TRUE=TRUEで検索/置換できますか?

spreadsheet

0
beroe