1

首先是在 Microsoft Office 2010 中。

我正在比较两个不同的工作表,每个工作表都有一个权限列表。“Worksheet1”包含我们新的 POS 权限,而“Worksheet2”包含我们当前的 POS 权限。我基本上是在检查我们的旧权限并找到匹配的新权限。

在 Worksheet1 上,A 列包含权限(字符串),而 B 列包含 Worksheet2 中具有类似权限的行号。Worksheet1 上的 C 列包含来自 Worksheet2 的引用(旧)权限(字符串),基于 Worksheet1 的 B 列中列出的行 #。因此,基本上在 Worksheet1 上,A 列具有新权限,B 列具有与 Worksheet1 相同权限的行号,而 C 列实际上包含旧权限。例如,对于来自 CI 列的引用,在第 2 行使用了 '=INDIRECT("Worksheet2!B"&B2)'。

现在我正在尝试做的是记录来自 Worksheet2 的哪些权限已经被考虑,而无需手动输入来自 Worksheet1 的引用行。使用相同的格式,我将拥有权限(一个字符串),而 B 列包含来自 Worksheet1 的行号,其中包含补充权限。最后在 C 列中,基于 B 列中给出的行的实际权限字符串。

所以基本上我试图找出 Worksheet1 列 B 是否包含 Worksheet2 上的行号。如果是这样,我希望用 Worskheet1 上的行号填充单元格,其中包含来自 Worksheet2 的引用行。从那里我可以使用上面提供的 INDIRECT 示例来完成 C 行。但现在我被困在找出 Worksheet2 B 列。

而且我不确定我是否清楚地解释了所有这些,如果没有,请询​​问我很乐意做出必要的澄清。提前感谢您的帮助。


澄清示例

工作表 1 - 第 2 行

  • A 列(新权限名称):SYSTEM > MODIFY LIST VIEW

  • B 列(来自 WS2 的引用行,我将手动填写):146

  • C 列(来自 WS2 的引用权限名称,基于 B 列中给出的行,使用 INDIRECT 生成):rPro - Retail Pro v8 - 系统 - 修改列表视图

工作表 2 - 第 146 行

  • A 列(旧权限名称):rPro - Retail Pro v8 - 系统 - 修改列表视图

  • 列 B(来自 WS1 的行#,其中列 B == 146,应该自动填充):这是我希望根据是否在 B 列中的 WS1 中引用此行来自动生成的内容)在这种情况下,应该显示的数字向上是 2

  • C 列(从 WS1 引用的权限名称,基于 B 列中给出的行,使用 INDIRECT 生成):SYSTEM > MODIFY LIST VIEW

4

1 回答 1

1

工作表 1 - D 列 - 放置=ROW()

工作表 2 - B 列 -=VLOOKUP(row(),sheet1!B:D,3,FALSE)

如果你想避免#N/A然后将函数包装在函数iferror()

于 2012-05-03T21:26:57.213 回答