如果列只包含值“D”或空值,则返回TRUE
如果列只包含值为“D”或空的单元格,那么什么公式会返回TRUE?
我需要这个来控制条件格式。
让我简单地告诉你我是如何使用它的:在我的游戏中,我为所有的GUI文本保留了9种语言的所有翻译string。 我需要控制所有文本的状态,因为我经常更改它们,所以我需要将更改的文本提供给翻译社。 我使用列A来控制存储在列B中的文本的状态。状态D表示完成。 我使用条件格式来绿色完成的细胞和黄色所有其他的。 现在,你的公式帮助我突出标题单元格,告诉我这个语言是否有单元格在等待翻译。
我使用这个原则来处理我需要跟踪状态的所有文本数据。 如果有人感兴趣,我有macros设置列B的条件格式的基础上的值。 在我的macros显然列A与活动单元格的列;-)
编辑:灵感来自下面的答案,我的最终公式是=(COUNTA(R:R))<>COUNTIF(R:R;"D")+1
其中+1是用于跳过标题。
您可以通过计算“D”的数量并将其与非空白单元格的总数进行比较来完成此操作:
=(COUNTA(X:X)=COUNTIF(X:X,"D"))
这将计算X列中非空白单元格的数量,并检查它是否与列X中等于“D”的单元格的数量相同。
对于更复杂的用途,您还可以将COUNTIF中的第二个参数修改为其他条件语句 – 请参阅此链接以获取一些示例。
这是配方解决scheme:
=IF(COUNTA(A:A)=COUNTIF(A:A,"D"),TRUE,FALSE)
- CountA是具有数据的单元的数量
- CountIf告诉你有多less个单元格有“D”
- 只需简单的包装if语句:)
* 请注意,COUNTIF不区分大小写
我把这个在B1单元格中检查单元格A1:
=OR(A1="D", A1="")
根据您的区域设置,您可能需要;
因为,
你可能需要使用你的语言的翻译。 不要怪我:)责备Misrosoft
要结合一个完整的列,请执行
=AND(B:B)
(或者也许更短的范围: =AND(B1:B8)
eg)
编辑build立一个演示链接: https : //docs.google.com/spreadsheet/ccc?key = 0AlX1n8WSRNJWdFAwZEpNRGhwdTNucDJ3dWQ1V3owRkE
编辑到评论:
一个用户定义的工作表函数来完成这个工作,大概是这样的:
' untested code - written in browser Public Function HasOnlyD(rng as Range) As Boolean Dim cell As Range For Each cell In rng If (Not cell.Value = "") And (Not cell.Value = "D") Then HasOnlyD = False Exit Function End If Next HasOnlyD = True End Function
您也可以使用条件格式化:
- select你的数据范围(在我的情况下C5:L10)
- select公式格式,并使用
=(ROWS(C$5:C$10)=COUNTIF(C$5:C$10;"=D")+COUNTBLANK(C$5:C$10))
- 你得到这样的格式:
希望这可以帮助
问候