我有两个excel表,两个都有匹配的产品编号。我需要做的是匹配产品编号,然后从第一张到第二张复制一列。
我的例子: 第一张表中的C列包含产品编号 第二张表中的A列包含产品编号 我想要匹配C& A然后从第一张到第二张复制B列。
很抱歉,如果之前已经回答过,我的知识基本但我正在努力学习
感谢您的帮助。 CD
答案 0 :(得分:0)
假设您的数字与C2中的匹配(第1行中的标题)和要在Sheet1上的AC2中复制的数字匹配,这应该可以满足您的需要。将其粘贴到Sheet2上的AC2中,然后将复制拖动到Sheet2上的A列长度。
=IF(IFNA(MATCH(A2,Sheet1!C:C,0), FALSE), INDIRECT("Sheet1!AC"&MATCH(A2, Sheet1!C:C, 0)), "Not Found")
注意这将给出" Not Found"对于在Sheet1上找不到的Sheet2上的值,您可以通过将公式中的字符串"Not Found"
替换为您想要的任何内容(例如0)来更改它。
答案 1 :(得分:0)
<强>公式:强>
您可以将OFFSET与IF配合使用。例如,在表2的B1中,您可以根据需要向下拖动多行,
=IF(A1=Sheet1!C1,OFFSET(Sheet1!A1,0,COLUMNS(Sheet1!A:AC)-1,1,1))
如果您将数据设置为表2中的表格(Ctrl + T并选择了已填充的单元格),则将此公式添加到相应的列中,它将自动过滤公式。
或强>
使用标准模块中的代码:
Public Sub AddFormula()
Dim rng As Range
With Worksheets("Sheet2")
If Application.WorksheetFunction.Subtotal(103, .Columns(1).Cells) > 0 Then
For Each rng In Intersect(.Columns(1), .UsedRange)
If Not IsEmpty(rng) And Not IsError(rng) Then 'assume ignore empty cells
If rng = Worksheets("Sheet1").Cells(rng.Row, "C") Then Worksheets("Sheet1").Cells(rng.Row, "AC").Copy rng.Offset(, 1) 'determine where you want value to go
End If
Next rng
End If
End With
End Sub
注意:强>
这是基于您的评论,即您将sheet2 col A与sheet1 col C进行比较,如果匹配则复制sheet1 col AC。
答案 2 :(得分:-2)
我认为两张纸上的产品编号都是唯一的。如果是这样,我建议使用偏移和匹配公式来实现你想要的。
对不起我的半生不熟的答案,因为我只是用手机输入它们并且输入复杂的风格不方便,这里是附加信息:
以下是具体流程:
表1表示原始信息,表2表示目标信息。我们要做的是通过产品将表1的col D中的信息复制到表格的col D:
OFFSET($D$5,MATCH(I6,$D$5:$D$16,0)-1,1,1,1)
OFFSET($D$5,MATCH(I7,$D$5:$D$16,0)-1,1,1,1)
OFFSET($D$5,MATCH(I8,$D$5:$D$16,0)-1,1,1,1)
OFFSET($D$5,MATCH(I9,$D$5:$D$16,0)-1,1,1,1)
OFFSET($D$5,MATCH(I10,$D$5:$D$16,0)-1,1,1,1)
或者您可以直接参考输出:
有关这两个公式的更多信息,您可以参考谷歌的Excel帮助。