如何在Google文档中的另一个工作表中查找值?


16

我有一个看起来像这样的页面:

╔═══╦════════╦══════╦═══╗
║ A ║ B      ║ C    ║ D ║
╠═══╬════════╬══════╬═══╣
║ 1 ║ User A ║ 144  ║   ║
║ 2 ║ User B ║ 5478 ║   ║
║ 3 ║ User A ║ 2156 ║   ║
╚═══╩════════╩══════╩═══╝

我想用来自另一页的数据填充D列:

╔═════╦══════╦═══╦════════╗
║ A   ║ B    ║ C ║ D      ║
╠═════╬══════╬═══╬════════╣
║ ABC ║ User ║ B ║ User B ║
║ DEF ║ User ║ A ║ User A ║
╚═════╩══════╩═══╩════════╝

注意:D列是B列和C列的串联。

在这种情况下,它应该使用与页面1!B到页面2!D匹配的页面2的A列中的数据填充页面1的D列,这将产生以下组合表:

╔═══╦════════╦══════╦═════╗
║ A ║ B      ║ C    ║ D   ║
╠═══╬════════╬══════╬═════╣
║ 1 ║ User A ║ 144  ║ DEF ║
║ 2 ║ User B ║ 5478 ║ ABC ║
║ 3 ║ User A ║ 2156 ║ DEF ║
╚═══╩════════╩══════╩═════╝

如何在Google Spreadsheets中执行此操作?



1
我不确定。另一个问题是有关链接到另一个文档的问题,解决方案有所不同。
克里斯·弗雷德

Answers:


23

您需要使用VLOOKUP函数

我在Sheet1中有以下内容 替代文字

这在工作表2中

替代文字

我已经为Sheet2中的值分配了一个范围,并称为范围LookupValues。

然后在工作表1中D列的公式中,我有: 替代文字

该公式的细分为:

  • A3是在查找范围内找到的值
  • LookupValues一个范围来搜索
  • 3如果在范围(LookupValues)中找到值(A3),则返回范围的索引

更新

要创建范围,请右键单击电子表格左上方的正方形,然后选择定义命名范围

替代文字

然后,您输入您想要知道/引用范围的昵称或别名,以及想要在该范围中可用的单元格范围。

替代文字

然后,您可以通过名称而不是传统Sheet2!A1:T100方法来访问单元格范围。

编辑2

为了回答您更新的问题,您需要将公式更改为此:

=VLOOKUP(B1, LookupValues, 1)

这将在您的范围内搜索Sheet1中B1中的值。例如“用户A”,然后返回第1列中的任何值,例如“ ABC”


您能否解释一下LookupValues使用哪个范围?我还修改了示例以更好地反映我的实际问题。
有意义的2010年

@Senseful-我更新了我的答案。如果您还有其他问题,请告诉我。
codingbadger

谢谢,那行得通。令人困惑的是,您没有指定要使用哪一列来查找第二张纸上的信息。而是使用指定范围内的第一列作为第二个参数。我最终在电子表格的末尾复制了这些列,以便可以将它们用于查找。
有意义的2010年

是的,在MS Excel中相同。我总是尝试说“从此列中查找,在列中查找并给我此列”,而不是提供范围。这是一个奇怪的:)
codingbadger

在Google文档(电子表格)中,现在在右键菜单中将其称为“命名和保护范围”。
ingh.am 2014年

3

您可以使用:

index(reference, [row], [column])

哪里:

reference = Sheet2!$A$1:$A$2

row = match(B1,Sheet2!$D$1:$D$2,0)

column = 1

单元格D1获得以下值:

= index(Sheet2!$A$1:$A$2,match(B1,Sheet2!$D$1:$D$2,0),1)

将这些值拖到单元格D2和D3。

当然,这假定您的第二张纸名为Sheet2。


match(B1,Sheet2!$D$1:$D$2,0)

...将返回Sheet2的数组D1:D2中的行号,其中单元格B1中的用户名与之匹配。


2

如果数据在同一电子表格的不同工作表中,则可以使用简单的VLOOKUP公式进行匹配,但是codingbadger的示例缺少参数(必须为“ FALSE”,以便公式仅提供完全匹配项,否则不会”如果不同或缺失,则无法工作)。

用法示例:VLOOKUP(10003,A2:B26,2,FALSE)

语法:VLOOKUP(搜索键,范围,索引,[已排序])

search_key-要搜索的值。例如42,“猫”或I24。

range-要考虑的搜索范围。在范围的第一列中搜索search_key中指定的键。

index-要返回的值的列索引,范围中的第一列编号为1。

如果index不在1和范围内的列数之间,则为#VALUE !!返回。is_sorted-[可选-默认为TRUE]-指示是否对要搜索的列(指定范围的第一列)进行了排序。

如果is_sorted为TRUE或省略,则返回最接近的匹配项(小于或等于搜索关键字)。如果搜索列中的所有值都大于搜索关键字,则返回#N / A。

如果is_sorted设置为TRUE或被省略,并且范围的第一列未按排序顺序,则可能返回不正确的值。

如果is_sorted为FALSE,则仅返回完全匹配项。如果存在多个匹配值,则返回与找到的第一个值相对应的单元格的内容,如果找不到此值,则返回#N / A。

此处为实时示例:https//www.youtube.com/watch?v = WbWoJgdeR-s

请参阅完整的指南,网址为:https : //support.google.com/docs/answer/3093318?hl=zh_CN

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.