结合两张excel表的信息

时间:2016-05-26 21:34:08

标签: excel excel-vba excel-formula vba

我有一个问题我有点困惑。我可能会通过VBA强行推动它,但希望将它保持在公式方面。我有2张有关于它们的信息,第三张是我试图将它们组合在一起。 Sheet1有名称,订单很重要。 Sheet2按字母顺序排列名称,有些列基本上是标志。 Sheet3只需要Sheet1中的Sheet2中标记的那些。 例如:

Sheet1      Sheet2        Sheet3
tim         bob   x       sally
sally       frank         bob
frank       sally x
bob         tim

一个数组公式+ INDEX可以轻松地将bob和sally从2中拉出来,但是有一种简单的方法可以将它们保持在一个顺序吗?

2 个答案:

答案 0 :(得分:1)

此公式将为您提供输出:

=IFERROR(INDEX(Sheet1!$A$2:$A$5,MATCH(1,INDEX((COUNTIF($A$1:$A1,Sheet1!$A$2:$A$5)=0)*(LOOKUP(Sheet1!$A$2:$A$5,Sheet2!$A$2:$A$5,Sheet2!$B$2:$B$5)="x"),),0)),"")

需要将其放在输出列的第二行。 countif()是移动到下一个的。

另一个警告,如果有重复,它只会拿起第一个。

enter image description here

答案 1 :(得分:0)

关于示意图3,

CELL A1: Do Select
CELL B1:  Candidate
CELL A2: =lookup(B2,Sheet2!A:B,2,0)
CELL B2: =Sheet1!A1

然后

  • 将第2行复制到其下方足够的行
  • 选择所有这些,激活插入功能区并使其成为表格
  • 单击向下箭头并取消选择空白
  • 滚动以获取第1行和第1列:A列:A超出范围且f
  • 冻结窗格。

(尚未测试,因为我在平板电脑上)