索引和匹配跨两页:一个详细的解释

布雷特埃里克
布雷特埃里克 ✭✭✭✭
编辑11/09/21 最佳实践

大家好,希望能得到一些对本教程的反馈。

我正在回答一个用户关于INDEX和MATCH的问题(帖子在这里),并认为将我的例子分享给更大的Smartsheet社区是有益的,如何轻松地利用INDEX和MATCH函数通过使用共享的“标识符”值来引用另一个工作表中的单元格。

我找不到真正的分步教程的任何来源,该教程如何创建对第二个工作表范围的工作表引用,然后展示如何利用INDEX/MATCH从这些范围获取信息。

本教程包括一个循序渐进的示例,说明如何创建一个工作表作为“数据源”工作表,另一个工作表用于更“公共”的视图。这里的想法是让数据在源工作表上有一个“home”,在另一个工作表上有一个可用的选择列集(当您不想共享时,这对于共享很有用)所有表格中的数据)。

----

文档,让你可以了解:

以下是来自Smartsheet的索引和匹配文档。

下面,我将尝试用外行术语解释INDEX MATCH的方法——我建议使用INDEX/MATCH函数而不是VLOOKUP函数,因为如果数据四处移动(即,如果一行被移动,VLOOKUP可能会“中断”),INDEX/MATCH函数会更有帮助。

对于您的用例,您将使用Smartsheet称为“交叉表引用”的内容。你可以在这里阅读有关交叉表公式(有一个视频):https://help.smartsheet.com/learning-track/smartsheet-advanced/cross-sheet-formulas

----

由于帖子的字符限制,我将把我的解决方案添加到这个讨论帖子的几个回应中。

如果这个答案回答了你的问题,请按上面的“是”——它可以帮助社区(以及那些随机的谷歌用户)更快地找到像你这样的解决方案。

布雷特埃里克;您友好的邻居自由职业顾问和智能表助手。在领英上和我联系

«1

评论

  • 例子:《两张纸的故事》

    在这个例子中,我们将有两张表,每张表上都有相同的信息,在“公共”表上减去一列。

    • 我们将第一个表命名为“company_private”
    • 第二个表将命名为“companyes_public”。

    下面是“company_private”表中的数据。粗体和斜体文本=列名。

    ____________________________________________________________

    Companies_Private表:

    复制/粘贴数据到你自己的工作表,如果你愿意:

    列:

    公司│股票│网站│首席执行官

    3米“……”“……”“……······3 m.com“……”“……迈克罗马

    Adobe- - - - - - - - - - -“……”“……adobe.com“……”“……Shantanu Narayen

    字母“…”“…”“…google······google.com“……”“……Sundar Pichai

    亚马逊“…”“…”“…amazon······amazon.com“”“”安迪雅西

    苹果“……”“……”“……apple······apple.com“……”“……蒂姆•库克

    百思买“…”“…”“…百思“……”“……bestbuy.com······Corie巴里

    Etsy“……”“……”“……ETSY“……”“……Etsy.com“……”“……Josh Silverman

    惠普“”“”惠普“……”“……HP.com“……”“……恩里克传说

    ____________________________________________________________

    用户:“image.png”

    因此,对于第二个表,我们将其命名为“Companies_Public”,我们只需要一个具有相同列的表,减去1(对于本例,我们将删除“CEO”列—假设您不希望特定用户看到该列)。

    ____________________________________________________________

    Companies_Public表:

    集团 ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ 股票 ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ 网站 ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎

    ____________________________________________________________

    因此,为了使其工作,您需要利用INDEX MATCH函数并创建一些对“Private”表的“引用”“公众”表格。

    如果这个答案回答了你的问题,请按上面的“是”——它可以帮助社区(以及那些随机的谷歌用户)更快地找到像你这样的解决方案。

    布雷特埃里克;您友好的邻居自由职业顾问和智能表助手。在领英上和我联系

  • 嗨,布雷特,

    对Smartsheet很陌生。

    我想使用这种技术将列从一个智能表复制到另一个智能表,作为“复制行”选项,接管比我想要的更多信息。

    这是可能的吗?如果可以的话,你能更详细地为我解释一下索引匹配吗?

    谢谢!

  • Hi Brett,<\/p>

    Very new to Smartsheet.<\/p>

    I want to use this technique to copy columns over from one Smartsheet to another as the 'copy rows' option, takes over more information than i would like.<\/p>

    Is this possible, and if so, can you explain the index match in simpler detail for me?<\/p>

    Thanks!<\/p>","bodyRaw":"[{\"insert\":\"Hi Brett,\\nVery new to Smartsheet.\\nI want to use this technique to copy columns over from one Smartsheet to another as the 'copy rows' option, takes over more information than i would like.\\nIs this possible, and if so, can you explain the index match in simpler detail for me?\\nThanks!\\n\"}]","format":"rich","dateInserted":"2021-11-11T13:51:19+00:00","insertUser":{"userID":140477,"name":"Daniel Gill 97","url":"https:\/\/community.smartsheet.com\/profile\/Daniel%20Gill%2097","photoUrl":"https:\/\/aws.smartsheet.com\/storageProxy\/image\/images\/u!1!ZN_qGWpEbPM!bLEoW15ZTEs!24FD2KcI1MS","dateLastActive":"2021-12-03T14:52:27+00:00","banned":0,"punished":0,"private":false,"label":"✭"},"displayOptions":{"showUserLabel":false,"showCompactUserInfo":true,"showDiscussionLink":false,"showPostLink":false,"showCategoryLink":false,"renderFullContent":false,"expandByDefault":false},"url":"https:\/\/community.smartsheet.com\/discussion\/comment\/310662#Comment_310662","embedType":"quote"}"> https://community.smartsheet.com/discussion/comment/310662#Comment_310662

    我认为它说新的添加行,如果你能覆盖它会回答我的问题!

  • 布雷特埃里克
    布雷特埃里克 ✭✭✭✭
    编辑11/11/21

    你好在那里丹尼尔·吉尔97谢谢你的评论。

    就“复制行”自动化而言,没有办法简单地将特定的单元格值从一个“工作表”复制到另一个工作表。换句话说,您不能挑选您想要的列。要么全盘照搬,要么什么都不照搬。

    因此,您可以复制该行,然后将您不想要的所有列移动到工作表的最右边,然后选择它们并隐藏它们。这不是一个很好的解决方案,但它会起作用。

    其他人之前也问过你同样的问题,但没有一个简单的方法可以在Smartsheet中做到这一点:https://community.smartsheet.com/discussion/69496/copy-rows-automation-only-certain-columns

    这里有一个方便的教程,在我学习INDEX / MATCH时帮助了我:https://www.youtube.com/watch?v=cabxWacMhKQ.它展示了如何在工作表上使用INDEX/MATCH,以及如何使用它引用另一个工作表。

    ----

    但是…

    然而,有很多方法可以让你做你想做的事。你只需要使用Smartsheet API,如果你感兴趣的话。基本上,该API允许用户执行自定义操作,比如您想要的以及更多的操作(向每个工作表添加一列,每天晚上自动隐藏列等)。

    我使用微软的电力自动化(类似于ZapierAutomate.io等)来执行您想要的自定义自动化。如果你感兴趣的话,我可以教你怎么做。

    我目前正在做一个智能表格咨询自由职业者的生意,所以我在找一些推荐信。所以我可以免费安装这个。

    但是,您需要订阅其中一个自动化服务,以便我设置它。如果您的组织使用Microsoft 365,您可能已经通过现有的许可证访问了Power automation -查看这里是否可以使用它:https://powerautomate.microsoft.com/en-us/

    让我知道!

    如果这个答案回答了你的问题,请按上面的“是”——它可以帮助社区(以及那些随机的谷歌用户)更快地找到像你这样的解决方案。

    布雷特埃里克;您友好的邻居自由职业顾问和智能表助手。在领英上和我联系

  • 她名叫Stara
    她名叫Stara ✭✭✭✭✭✭

    丹尼尔·吉尔97

    我希望你一切安好!

    为了补充布雷特的优秀建议/答案。

    您可以使用与VLOOKUP或INDEX/MATCH结构相结合的交叉表公式来连接工作表,并且当您更新源工作表时,它将反映在目标工作表上。

    另一种选择是使用所谓的帮助表。简而言之,将该行复制到一个帮助表,然后使用我前面描述的方法将所需的值获取到另一个帮助表,然后将该行从该工作表复制/移动到主要目标工作表。

    这样行吗?

    我希望这对你有帮助!

    注意安全,祝你度过美好的一周!

    最好的

    她名叫Stara|工作流程顾问/ CEO @工作大胆

    我的帖子是否帮助或回答了你的问题或解决了你的问题?请支持社区将其标记为有洞察力/投票赞成或/和作为公认的答案.这将使其他人更容易找到解决方案或帮助回答!

    智能表专家顾问兼合伙人

    她名叫Stara|工作流程顾问/ CEO @工作大胆

    W:www.workbold.com| E:(电子邮件保护)| p: +46 (0) - 72 - 510 99 35

    请随时与我联系,了解有关Smartsheet,集成,一般工作流建议或其他方面的帮助。

  • @Brett埃里克-我是非常新的智能表,想知道我是否可以使用索引匹配功能来做以下-

    在“包装表”上的“测试”栏中,如果“包装表”中的打印机与“打印机交货时间表”中的打印机相匹配,则从“打印机交货时间表”中的“总天数”栏中取出数字

  • 在本指南中,你会学会的

    ✅

    在Google表格中只使用索引功能

    ✅

    在Google表格中只使用Match功能

    ✅

    同时使用索引匹配在谷歌表

    索引匹配公式可以是一个很好的选择VlookupHlookup在谷歌表格中。

  • 我对智能表非常陌生,但是我可以用它来更新“公共”表上的单元格吗?

    或者您是说您不能仅更新一个已更改的单元格?

  • Stefan
    Stefan ✭✭✭✭✭✭
    I am very new to smartsheet, but can I use this to update cells on the "public" sheet?<\/p>

    Or are you saying that you cannot update just one changed cell?<\/p>","bodyRaw":"[{\"insert\":\"I am very new to smartsheet, but can I use this to update cells on the \\\"public\\\" sheet?\\nOr are you saying that you cannot update just one changed cell?\\n\"}]","format":"rich","dateInserted":"2022-07-21T19:37:10+00:00","insertUser":{"userID":150427,"name":"SEBERCAW","url":"https:\/\/community.smartsheet.com\/profile\/SEBERCAW","photoUrl":"https:\/\/lh3.googleusercontent.com\/a-\/AFdZucpba5VVBAHyaGW4Sjhx0LlZJJH1Otj6Fsbq5h6BAw=s96-c","dateLastActive":"2022-08-20T16:50:51+00:00","banned":0,"punished":0,"private":false,"label":"✭"},"displayOptions":{"showUserLabel":false,"showCompactUserInfo":true,"showDiscussionLink":false,"showPostLink":false,"showCategoryLink":false,"renderFullContent":false,"expandByDefault":false},"url":"https:\/\/community.smartsheet.com\/discussion\/comment\/337078#Comment_337078","embedType":"quote"}"> https://community.smartsheet.com/discussion/comment/337078#Comment_337078

    @SEBERCAW

    你可以用细胞链接来做。

    Cell Linking | Smartsheet学习中心


    希望这对你有所帮助

    Stefan

    Smartsheet咨询,解决方案构建,培训和支持。

    过程项目和人员项目。

  • 我找到了正确的公式,但如果没有日期,它有一个#INVALID VALUE。我试着用IFERROR修复它,但这不起作用。一切工作,除了当我添加IFERROR和开、闭括号。


    = IFERROR(指数(收集({均等就业机会/ HARRASSEMENT},{名称},(电子邮件保护), {eeo /骚扰},<>""),1))

  • Stefan
    Stefan ✭✭✭✭✭✭

    @SEBERCAW

    如果其他一切都在工作,那么我看到一个不必要的括号在最后,这是需要在你的INDEX公式结束:

    = IFERROR(指数(收集({均等就业机会/ HARRASSEMENT},{名称},(电子邮件保护), {eeo /骚扰},<>"")),1)

    此外,您的公式被构建为在抛出错误时显示1。只有当包含公式的列是checkmark类型时,才可以使用1。否则,您需要将要显示的消息放在引号中:

    = IFERROR(指数(收集({均等就业机会/ HARRASSEMENT},{名称},(电子邮件保护), {EEO/骚扰},<>"")),"不存在值")


    希望这对你有所帮助。

    Stefan

    Smartsheet咨询,解决方案构建,培训和支持。

    过程项目和人员项目。

  • 谢谢,这很有帮助。

  • @Brett埃里克和每一个人,

    我是Smartsheet的新手。我可以使用索引/匹配带来我需要的数据吗400线的智能手机一个2000行的智能表,如果400行的智能表是2000行的智能表的子集?我在某个地方读到索引/匹配有100行最大值?有任何信息或建议

  • 她名叫Stara
    她名叫Stara ✭✭✭✭✭✭

    @Edith奥伦斯坦

    我希望你一切安好!

    是的,应该没问题。(没有100行的限制,但有100个不同引用的限制)

    我希望这对你有帮助!

    注意安全,祝你度过美好的一周!

    最好的

    她名叫Stara|工作流程顾问/ CEO @工作大胆

    我的帖子是否帮助或回答了你的问题或解决了你的问题?请支持社区将其标记为“有见地”/“投票赞成”、“很棒”或“并且”作为公认的答案.这将使其他人更容易找到解决方案或帮助回答!

    智能表专家顾问兼合伙人

    她名叫Stara|工作流程顾问/ CEO @工作大胆

    W:www.workbold.com| E:(电子邮件保护)| p: +46 (0) - 72 - 510 99 35

    请随时与我联系,了解有关Smartsheet,集成,一般工作流建议或其他方面的帮助。