答案1
这是一个相当简单的方法;我已经托管了这个示例这里以防您想下载(并修改)供自己使用。
笔记:我为 G 列使用了复选框,并链接到它们各自的单元格(我将字体颜色改为白色,以使“TRUE”或“FALSE”在屏幕上/打印时不可见)。这只是为了让它看起来更干净;如果文档需要打印就绪,并且太宽而无法适合页面,那么缩小列的大小也会更容易。如果需要,您可以轻松调整最终工作表的公式以匹配您原来的“READY”。仅供参考,要插入这些,您需要在设置中启用“开发人员”选项卡。
这里我特意写了一个公式,这样你只需要复制最左上角的单元格...
=IF(INDIRECT("'"&A$1&"'!G"&(ROW()-1))=TRUE(),INDIRECT("'"&A$1&"'!C"&(ROW()-1)),"")
...然后您可以根据需要自由粘贴到下方或右侧的所有后续单元格。
关于此公式的重要说明:
- 第 1 行不仅充当标题,而且还是每列的公式引用,指向正确的工作表(因此,工作表名称需要与这些工作表匹配)
- 当前设置将不会自动连续填充;换句话说,空白单元格将保留在结果表中。根据您的使用情况和/或偏好,这可能是也可能不是所需的行为。如果您不希望单元格之间出现空白,仍然可以实现此操作(例子)。如果您需要帮助请告诉我,我可以进行相应的修改。
答案2
您需要一个数组公式来在您用填充相应单元格时获取患者的姓名Ready
。
B4
单元格中的公式Sheet Cristine
:{=IFERROR(INDEX(Week1!$C$46:$C$50, SMALL(IF(("Ready"=Week1!$G$46:$G$50), MATCH(ROW(Week1!$G$46:$G$50), ROW(Week1!$G$46:$G$50)), ""),ROWS($A$1:A1))),"")}
完成配方Ctrl+Shift+Enter& 向下填充。
注意:
MATCH(ROW($G$46:$G$50), ROW($G$46:$G$50)), ""),ROWS($A$1:A1)))
返回第 k 个最小的行号,
SMALL({"", 2, "", 4, ""}, ROWS($A$1:A1))
- 为了使公式动态代替搜索字符串,
Ready
您可以使用工作表 Cristine 的任何合适的单元格引用。 这或许就是公式的一部分。
SMALL(IF(($B$1"=Week1!$G$46:$G$50)
为此,您需要在Sheet 的
Ready
单元格中输入搜索字符串。B1
Cristine
根据需要调整公式中的单元格引用。