如何让 Excel 将 TRUE 或 FALSE 文本识别为布尔值?

如何让 Excel 将 TRUE 或 FALSE 文本识别为布尔值?

我一直使用 INT 公式将布尔值 TRUE 和 FALSE 转换为 1 和 0。但是,我将一些数据复制到电子表格中,但 Excel 在某些情况下无法将文本识别为布尔值。

TRUE 和 FALSE 文本左对齐,格式为“常规”。INT 公式无法将其识别为布尔值。但是,只要我单击 TRUE 或 FALSE 单元格,然后按 Enter 键,文本就会居中对齐,并且我的公式会将其识别为布尔值并将其转换为整数。

有什么方法可以让 Excel 识别这一点,而不必单击每个单元格并按回车键?

答案1

Excel 不会将文本“TRUE”或“FALSE”识别为其布尔值...如果您需要转换它们,IF 语句将完成任务:

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

IF 语句示例

答案2

人们往往会把布尔值弄得比实际更难。在我看来,这是在基本 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

它处理空格、大写/小写和其他值。

答案3

老问题 - 但以下方法可能对后人有用。

Excel 将布尔值识别为文本。您可以将整个列的格式更改为General,但 Excel 不会重新评估格式,直到您单击每个单元格并按 Enter 键。另一种方法是使用文本到列功能,例如使用非常宽的固定宽度。结果将是相同的单列,但 Excel 将被迫重新评估格式并将所有truefalse条目更新为布尔值。

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

答案4

=TYPE(Value)TRUE/FALSE 列显示什么?

我使用的是 LibreOffice 而不是“真正的”Excel,但它甚至可以正确识别文本字段......

也许您可以TRUE=TRUE?进行搜索/替换。

电子表格

相关内容