【发布时间】:2017-07-25 23:54:30
【问题描述】:
我目前使用以下代码将信息从一个工作表检索到另一个工作表:
=INDEX('Bravo'!$A:$AV,MATCH(1,Bravo!A:A=$D$4)*('Bravo'!C:C=$B7),0)MATCH($C7,'Bravo'!$1:$1,0))
- 身份证
- OP_ALPHA_WTR_TEMP:1-1(确定水温在哪个阶段)
- Strl 时间(开始时间)
它的工作方式是从“Alpha”工作表中获取三条信息,将其交叉引用到“Bravo”电子表格并返回它在提供的信息中找到的值。
我需要对 Water_Temp 部分做类似的事情,这也是在第一个屏幕截图中。这种交叉引用将在另一个工作表(查理)上完成。唯一的事情是,我正在尝试查看是否可以仅使用 Alpha 工作表的 D4 单元格中的 ID 来完成。
如果您查看随附的查理工作表,它将只有一个结果在整行中大于零。我想要完成的是将 Alpha 工作表中的 ID 与 Charlie 工作表匹配,然后返回该行的大于零的值。
我需要能够使用动态查找,因为 Charlie 工作表的 A 列中的列表将根据开始时间和结束时间查找的长度增加或减少 ID 值。查理工作表总是有 6 列。
在 Stackoverflow 中有几个答案很接近,我试图拼凑起来,但没有成功获得我想要的。
Match Link Example Match Link Example2
我们将不胜感激任何可以提供的信息。
谢谢。
【问题讨论】:
-
玩了几天后,我发现了一个有效的公式: =MAX(INDEX(('Charlie'!A4:A100=D4)*('Charlie'!B4:G100 >0)*'Charlie'!B4:G100,)) 这个公式放在“Alpha”“水温”“D4”单元格工作簿上。它引用了“Charlie”工作簿 A4 到 A:100 列,匹配 D4 Alpha 工作簿中的 ID,一旦在列中找到它,它就会遍历整行并带回它发现的大于零的第一个值。希望这对将来的某人有所帮助。