我试图在表1列在表2的比较列,然后在列b对应的值复制从片1在表2列b(其中一列值相匹配)。 我一直在想如何做到这读了,但我不知道我是否应该尝试创建一个宏,或者是否有这样做一个简单的方法,也许VLOOKUP或匹配? 我真的不熟悉这些功能虽然是如何工作的。
此外,如果有差别,有将被重复在列中的值b折叠2。
第1页
12AT8001 1
12AT8002 2
12AT8003 3
12AT8004 4
12AT8005 5
12AT8006 6
第2页
12AT8001
12AT8001
12AT8001
12AT8001
12AT8001
12AT8002
12AT8002
12AT8002
12AT8002
12AT8002
12AT8003
12AT8003
12AT8003
12AT8003
12AT8003
Vlookup
是好的,如果参考值(列A,片1)按升序排列。 另一种选择是索引和匹配,可使用不管顺序(只要在一列中的值,片材1是唯一的)
这是你放什么在B列于表2
=INDEX(Sheet1!A$1:B$6,MATCH(A1,Sheet1!A$1:A$6),2)
设置Sheet1!A$1:B$6
和Sheet1!A$1:A$6
的命名范围使得它多一点人性化。
作为kmcamara发现,这正是那种认为VLOOKUP是为了解决问题,使用VLOOKUP可以说是最简单的替代方法来完成这项工作。
除了这三个参数Lookup_Array中,table_range进行搜索,并返回值与Column_Index,VLOOKUP有一个可选的第四个观点,即Excel的文件所称的“range_lookup”。
扩大对deathApril的解释,如果这个参数设置为TRUE(或1)或省略,该表的范围必须在范围的第一列中的值的升序进行排序,以便返回什么通常被理解为是对函数“正确”的价值。 在此默认行为,该函数将返回基于精确匹配的值,如果被发现,或者如果完全匹配没有找到近似匹配。
如果比赛是近似的,由该函数返回的值将基于对小于lookup_value的最大数值。 例如,如果“12AT8003”是从表中表1丢失,在表2的查找公式该值将返回“2”,因为“12AT8002”是表中的范围的查找列,它是以下中的最大值比 “12AT8003”。 (VLOOKUP的默认行为使得如果,例如,我们的目标是查找率税率表完美的感觉。)
但是,如果第四个参数被设置为FALSE(或0),VLOOKUP仅当存在完全匹配,和#N / A的误差值,如果没有返回一个查找到的值。 现在通常的做法,以赶不匹配的优雅包裹的确切VLOOKUP在IFERROR功能。 之前引进的IFERROR,没有比赛被使用的VLOOKUP公式一次,以检查是否有匹配的,一旦返回实际的匹配值的IF函数检查。
虽然一开始很难掌握,deusxmach1na人建议的解决方案是一套功能强大的替代品的变化,以VLOOKUP可用于为一列或列表来查找列左侧返回值,扩大到处理情况更精确的匹配比所需一个准则,或修改,以结合OR以及与匹配多个标准中的条件。
重复kcamara的选择的解决方案中,VLOOKUP公式针对此问题将是:
=VLOOKUP(A1,Sheet1!A$1:B$600,2,FALSE)
做一个真值表,并使用SUMPRODUCT来获取值。 这个复制到单元格B1在Sheet2上抄下至于你需要:
=SUMPRODUCT(--($A1 = Sheet1!$A:$A), Sheet1!$B:$B)
创建真值表的部分是:
--($A1 = Sheet1!$A:$A)
这将返回0和1的阵列。 1,当值匹配,0时,他们不知道。 然后之后逗号将基本上做到我所说的“滑稽”矩阵相乘,并返回结果。 我可能误解了,虽然你的问题,有没有重复的工作表Sheet1中的列A值?
尝试:
sheet 2 a1 =vlookup(sheet2a1,sheet1$a$1:$b$6,2)
然后拖下来。
它应该工作。
文章来源: How to compare two columns in Excel (from different sheets) and copy values from a corresponding column if the first two columns match?