Excel – 如果第一个工作表的特定单元格中的文本是Y(或是),则将整行移动到下一个工作表中

我试图build立一个公式,其中工作表1是一个date,名称和最后一列的列表(一)是一个简单的Y或N(是或否)。

如果答案是Y(或是),那么我想整个行被复制到下一个工作表(工作表2),如果答案是N(或否),那么它不会进入下一个工作表。

这是可能的,如果是的话,我怎么能通过单元格公式(我不想改变srcip模块,如果可能的话)?

任何指导都会受到好评。

移动是在Excel中的两个步骤(即剪切粘贴),所以这不能用公式完成。

你可以看看

  1. 自动filter显示基本数据工作表中的所有Ylogging…然后您可以手动复制/粘贴它们
  2. 高级filter来显示甚至复制Ylogging,但在同一个工作表中
  3. 编写一个VBA程序(不是函数)为你做抽取工作,首先手动在每个logging中设置Y / N字段,然后按下一个移动logging的button; 你应该尽可能的捕获进入Y的事件到第3栏来自动启动移动程序,但我不会推荐它…如果用户不小心input了Y …
  4. 最后你可以在提取表上插入一个数组公式来显示Ylogging; 例:

表1

ABC 1 Index Info Flag 2 1 AY 3 2 BN 4 3 CN 5 4 DY 

工作表2

  • 将工作表1的标题复制到A1..A3中
  • selectB1..B3并input公式=IF(Sheet1!C2="Y",Sheet1!A2:C2)
  • 按下Ctrl + Shift + Enter将其另存为数组公式
  • 复制B1..B3下来

虽然不是很好,因为每个Nlogging都会得到FALSE FALSE FALSE

我个人更喜欢3)…button解决scheme

简单地把=标志,你想看看结果比去整行,拖动光标向下按回车。 而已。 认为:那就是TJ

我在Sheet1; A1单元格中input一些数据,即客户名称,然后使用这个公式= Sheet1!B1在sheet2的单元格B1中使用这个名称,现在我想从sheet2; B1到sheet3的“C1 “cel,从哪个公式可能是可能的,ples告诉

这不是最漂亮的解决scheme,但它工作,我在工作簿上使用它来logging收到的检查。 如果检查已过期,则该行在该行上移动,以使该行出现在下一张表格的顶部。 这是一个数组公式,所以所有的数据是连续的。

让我们使用上面的MikeD的数据示例并展开它:

  ABCDE 1 Index Info Flag Index 2 Info 2 2 1 AY =If(C2="Y",A2,"") =If(C2="Y",B2,"") 3 2 BN =If(C3="Y",A3,"") =If(C3="Y",B3,"") 4 3 CN =If(C4="Y",A4,"") =If(C4="Y",B4,"") 5 4 DY =If(C5="Y",A5,"") =If(C5="Y",B5,"") 

基本上,你要在你的数据右边添加一些列,检查列C是否等于“Y”,并一次复制第一行单元格。 所以我们最终得到的是:

  ABCDE 1 Index Info Flag Index 2 Info 2 2 1 AY 1 A 3 2 BN 4 3 CN 5 4 DY 4 D 

然后在单元格A1的Sheet2中input以下数组公式(不要忘记使用Ctrl + Shift + Enter):

 =IFERROR(INDEX(Sheet1!$D$1:$D$5,SMALL(IF(Sheet1!$D$1:$D$5<>"",ROW(Sheet1!$D$1:$D$5)),ROW(1:1))),"") 

然后在B1单元格中input一个类似的数组公式:

 =IFERROR(INDEX(Sheet1!$E$1:$E$5,SMALL(IF(Sheet1!$E$1:$E$5<>"",ROW(Sheet1!$E$1:$E$5)),ROW(1:1))),"") 

然后,您可以突出显示A1:B1并将公式向下拖到A1:B5,您应该可以看到:

  Index 2 Info 2 1 A 4 D 

然后,你可以回到Sheet1,并隐藏那些讨厌的公式列:)。