我正在使用 Microsoft Excel 2010 中的电子表格。电子表格中有 3 个工作表。它们分别是:
- 第一
- 第二
- 案例
现在,在第一和第二个工作表中,底部有一个表格,其中包含案例详细信息。在案例工作表中也有一个案例表,但它是空的。我想要做的是将第一和第二个工作表中的数据自动插入到案例工作表中。
如何实现?我尝试按类别进行合并,方法是单击“合并”,从第一和第二个工作表中选择相关标签和数据,然后添加它们并单击“确定”,但它显示消息说没有合并数据。
以下是可下载的电子表格的链接:
您能就此给我一些建议吗?或者有人可以尝试将我的电子表格应用到 Excel 文档上,看看是否可以使其正常工作?
PS,我知道第二个工作表的案例摘要表中有空白数据,但该表将来可以包含一些数据。
谢谢
答案1
将此公式插入到B4
工作表“Cases”的单元格中:
=IF(NOT(ISBLANK('1st'!B25)),'1st'!B25,IF(NOT(ISBLANK(INDIRECT("'2nd'!R" & (ROW($B4)-(COUNTA('1st'!$B:$B)-COUNTA('1st'!$B$1:$B$24))-4+25) & "C" & COLUMN(B4),FALSE))),INDIRECT("'2nd'!R" & (ROW($B4)-(COUNTA('1st'!$B:$B)-COUNTA('1st'!$B$1:$B$24))-4+25) & "C" & COLUMN(B4),FALSE),""))
将公式复制到工作表中的其他单元格;相对地址将自动调整。
该公式的工作原理如下:
- 检查1st中是否有内容。如果有,则复制它。
- 如果不是,则找出第 1 行总共有多少个条目。(这可以通过
COUNTA
对第 1 行的整个 B 列使用函数并减去实际案例数据上方的非空单元格数量来完成。)将此信息与当前单元格的数量一起使用,找出必须从第 2 行复制的单元格的位置。 - 创建单元格的地址,并使用该地址的函数
ISBLANK
上的函数INDIRECT
来检查单元格是否为空。 - 如果不是,则
INDIRECT
再次使用该函数显示它。如果为空,则只显示一个空字符串。
虽然这种方法可行,但它有点混乱,并且 - 根据案例的数量 - 可能会导致性能问题,因为使用大量INDIRECT
函数会非常慢。
我建议使用其他工具来完成像您这样的任务 - 例如 Microsoft Access 或其他数据库工具。