我有一个包含两个工作表的Excel工作簿。第一个工作表包含两列:|| ID || FLAG ||
我想要做的是只将ID的标志值复制到另一个工作表中。我知道如何使用IF语句来执行此操作,但这会在不符合条件的行中留下空格。我已经找到了很多使用VBA的方法,但我希望避免仅使用公式来使用VBA。我有一种感觉,这是使用数组实现的,但我对它们并不是很有信心。
感谢您的帮助。
BJR
发布于 2018-08-26 20:56:23
在第二张纸上创建A列“第N个匹配”,从1开始计数,B列"ID“。在B列中输入此公式以引入ID号。
{=INDEX(Sheet1!A:A,SMALL(IF(Sheet1!B:B=1,ROW(Sheet1!B:B)-ROW(INDEX(Sheet1!B:B,1,1))+1),Sheet2!A2))}
Sheet1 A列是您的ID号。Sheet1列B是您的标志列,该公式检查是否满足此条件。然后,最后一部分"Sheet2!A2“告诉公式要显示的第N个匹配项。
当你下拉公式时,它会显示第一次,第二次,第三次匹配等,没有空白。
已编辑为在没有vba的情况下回答。
https://stackoverflow.com/questions/52027440
复制