excel - 显然,在更新单元之前,COUNTA 仍会计算“空白”单元 - 这是错误还是功能?
问题描述
我注意到 Excel 中的一种行为在直觉上没有意义。
如果任何公式导致单元格计算为空白字符串,例如,则复制该单元格并粘贴为值,以便公式消失 - 单元格在包含在公式=""
中时仍会计数。COUNTA
直到您按 F2 编辑单元格,然后按 Enter - 然后将不再计算单元格。
我可以理解为什么要COUNTA
计算包含公式的单元格,但是一旦将单元格复制并粘贴为值,如果公式评估为空白,则单元格也应该是空白的,至少直观上是这样。奇怪的是,更新公式会导致 COUNT 减少。这似乎是一个错误,但我想把它放在这里以确保这不是我缺少的奇怪功能。
以下是我为重现此问题所采取的步骤(也在下图中):
- 在单元格 A1:A10 中输入 =“”
- 选择单元格 A1:A10 并复制
- 选择单元格 A1 并粘贴为值
- 选择范围内的任何单元格,然后按 F2
- 按回车
- 单元格 A11 中的计数将减少 1
作为步骤 4 的替代方法,如果您选择范围内的任何单元格并按 Delete,计数也会减少。
图像中的计数是 7,因为我已经多次测试了第 4 步和第 5 步 - 计数从 10 开始。
我正在使用 Office Insider 程序,所以如果它是一个错误,这可能就是原因。
任何人都可以对此有所了解吗?
解决方案
不是错误。
=""
返回一个空字符串,这与真正的空单元格不同。复制/粘贴值会保留空字符串。
编辑单元格,F2然后Enter有效地将单元格呈现为空白。
这是一个有趣的小 VBA 测试以获取更多详细信息:
Sub Test()
With ActiveCell
.Formula = "=""""" ' enter ="" in the ActiveCell
Debug.Print TypeName(.Value) ' returns String
.Copy
.PasteSpecial xlPasteValues
Debug.Print TypeName(.Value) ' returns String
.Value = .Value
Debug.Print TypeName(.Value) ' returns Empty
End With
End Sub
推荐阅读
- android - 为什么 androidx espresso .check() 会导致 androidx.test.espresso.IdlingResourceTimeoutException
- xml - 使用 XSLT 文件将 XML 转换为 XML
- excel - Excel UDF 按名称指定表格行和列
- javascript - React JS:如何从父组件访问子组件的状态对象
- ms-access - MS Access:ReportView 显示的值与 PrintView 不同
- php - 在 XMLwriter PHP 中定义变量或常量
- sql - PostgreSQL:如何在双方的两个日期之间滚动加入?
- laravel-5 - laravel 中的购物车数据显示
- r - 直方图范围
- html - 如何在与其父级相同宽度之后定义伪元素::