让我们创建一个 excel 文件,其中包含一个名为“Sheet1”的工作表和一个名为“Table1”的列表。(抱歉,我不确定非德语版 Excel 中的措辞,即列表与表格。)用一些值填充它,使其看起来像这样:
Name
ValA
ValB
ValC
ValD
“名称”是列标题。请注意,这应该是列表表,而不仅仅是单元格区域。
现在让我们验证一下是否可以获取列表中非空单元格的数量。将此公式输入到此工作簿中的任何空白单元格中:
=COUNTA(Table1[Name])
如果您不弄乱我的 Table1 表的美观状态,则其计算结果始终为 4。
将此工作簿另存为 X.xlsx。请勿关闭它。
现在,在另一个 Excel 窗口中,创建一个新的工作簿,然后输入相同的公式。当然,要计算其他工作簿工作表的表格行数,我们必须通过工作簿文件限定表格,如下所示:
=COUNTA('PathToMyExcelFiles\X.xlsx'!Table1[Name])
其中“PathToMyExcelFiles”是 xlsx 的本地路径。通过在输入公式时指向单元格范围,可以轻松使用 excel 创建此类引用。
这完美地评价了 4。
现在关闭 X.xlsx 窗口,这样 X.xlsx 就不再打开了 :),然后强制重新计算(或者,关闭所有 xlsx 窗口,并使用显示的公式创建一个新窗口,而无需先打开 X.xlsx)。 该公式的合格版本现在计算结果为 1。
为什么?
如果我们引用的工作簿未加载,COUNTA 将返回 1,否则返回正确的 4。
背景:我正在寻找将列表存储在集中电子表格中的表格中的方法,并在有效性列表中使用来自其他电子表格的列表。
我正在使用 Excel 2010,是的,我绝对想使用 Excel 表格列表来存储列表。