【问题标题】:Google Docs: create drop down list using data from another spreadsheetGoogle Docs:使用另一个电子表格中的数据创建下拉列表
【发布时间】:2014-07-19 10:20:02
【问题描述】:

我需要根据位于电子表格 B(范围 - C3:C15)中的数据,在电子表格 A(使用数据验证)的单元格(比方说单元格 B2)中填充下拉列表。 我怎么做?谷歌搜索了几个小时 - 没有运气。 谢谢。

【问题讨论】:

    标签: google-sheets


    【解决方案1】:

    从另一个工作簿中获取项目,与同一工作簿中的另一个工作表相反。这是一个两步的过程。首先,您需要将要用于验证项的数据导入到要使用它的工作簿中,然后按照@uselink126 的答案中的说明进行连接。

    一个例子:Workbook 2 包含一个不按特定顺序排列的水果名称列表。为了便于阅读,该列表已分配了一个命名范围Fruits,但这不是必需的。 Workbook 1,工作表 1 有一列单元格,我们希望在其中使用工作簿 2 中的项目填充下拉列表。

    第 1 步 - 导入数据

    • 向工作簿 1 添加另一个工作表,并将以下公式插入单元格 A1:

      =ImportRange("<key>","Sheet1!Fruits")
      

    其中&lt;key&gt; 是您在创建电子表格时分配的唯一 ID 谷歌文档。在示例中,作为导入的一部分,项目按字母顺序排序,为此您需要输入:

        =Sort (ImportRange("<key>","Sheet1!Fruits"), 1, true)
    

    1, 表示第 1 列是排序依据,true 表示升序排序。第 1 列中的单元格应填充已排序的水果。

    第 2 步 - 将数据验证指向导入的列表

    在工作簿 1 的工作表 1 上,选择您希望将水果作为其下拉数据源的单元格。 - 右键单击​​选择并从菜单中单击Data Validation。将Criteria设置为List from a range并输入Sheet2!A1:A20

    就是这样。下拉 V 形应该出现在这些单元格中,点击后应该会出现水果列表。

    请注意,这是“实时”的 - 将水果项目添加到 Workbook 2 的列表中也会神奇地将其添加到下拉列表中。

    【讨论】:

    • 将其他工作簿中的数据导入此工作簿真的是唯一的方法吗?我想避免添加另一个除了来自另一个工作簿的重复数据之外什么都不做的工作表。
    • 据我所知,你不能直接从另一个工作簿中获取下拉项,你需要将它们导入到你想要使用它们的工作簿中。有点拖也许吧,但是每次用户单击 V 形时从另一个工作簿获取数据可能比从同一个工作簿获取数据更密集。请记住,验证源数据范围不必在另一张纸上 - 它可以是同一张纸 - 即范围可以是 Sheet1!B1:B20 而不是 Sheet2!A1:A20 但我认为最好将其放在视线之外方式。
    • 目前这个解决方案给出了“公式解析错误”。您需要将“,”更改为“;”。所以它会是这样的: =IMPORTRANGE("";"Sheet1!Fruits")
    • 很奇怪。它仍然在示例工作簿上为我工作。我尝试进行更改(使用分隔符 ; 而不是 ,),Google 解析警察将其改回 ,
    【解决方案2】:

    在 Google 表格中从另一个电子表格访问单元格的格式是:

    SheetName!CellAddress
    

    例如,假设您有一个包含 2 个电子表格的 Google 表格:Sheet1Sheet2(名称列在每个表格左下角的选项卡上)。

    Sheet1 中,如果您想访问Sheet2 中的单元格B2,请输入:Sheet2!B2 来引用它

    Sheet2 中,如果您想访问Sheet1 中的单元格C3:C15,请输入以下内容来引用这些单元格:Sheet1!C3:C15

    要专门将另一个工作表中的单元格添加到下拉列表中:

    1) 选择你想要下拉的单元格

    2) 右键单击​​单元格并选择数据验证

    3) 在对话框中,点击Criteria输入框中的网格图片

    4) 这将调出“什么数据?”对话框

    5) 点击您要访问的工作表的标签

    6) 按住 shift 并单击要选择的单元格(您将看到单元格地址显示在“什么数据?”对话框的输入框中)

    7) 单击“确定”即可完成设置。如果您在源工作表中进行更改,数据将更新。

    更多信息:https://support.google.com/docs/answer/186103?hl=en

    【讨论】:

    • 对不起,我可能在问题中表达得不够清楚。我要说的是:我需要从书 A 中获取数据并将其用于填充书 B 中的下拉菜单(我的 Google 驱动器上的另一个 文件),而不是使用同一本书另一页中的数据(文件)。该项目已经完成——我们使用了另一种方法。感谢您的回答 - 对于所述问题是正确的。
    • @keshet,您应该接受 rossmcm 的回答。因地制宜。
    • 这似乎不再起作用:Sheet1!C3:C15。我想引用另一个工作表中的范围。
    【解决方案3】:

    类似于 rossmcm 的回答,但有一些调整,因为他的回答对我不起作用:

    =IMPORTRANGE(spreadsheet_url; range_string)
    

    其中spreadsheet_url 是要从中导入数据的电子表格的完整 URL,range_string 是一个字符串,格式为“[sheet_name!]range”(例如“Sheet1!A2:B6”或“A2 :B6") 指定要导入的范围。

    例子:

    =IMPORTRANGE("https://docs.google.com/spreadsheets/d/1EwEn_2dSbgAlR7jJ7UT_MyE3h1-Biq3qoovfIGUnVlo/edit#gid=0", "Sheet1!A1:A7")
    

    更多信息from Google DOCS Help!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多