使用多列数据匹配 Google 工作表中的 return 值

Using multiple columns of data to match and return value in Google Sheets

我已经尝试了所有方法,最终转向这个社区的帮助来找出这个 Google 表格公式。这是一个示例 sheet 来说明情况:https://docs.google.com/spreadsheets/d/1mLzsAyqtkASYMQsu8-igaUTURvhHiH-jXJN3qsr0mkU/edit?usp=sharing

每一行都是一位到过诊所的患者。有 5 个字段供患者提供 phone 号码(手机、家庭等)。在另一个选项卡 ("Paid Calls") 中,A 列中有 phone 个号码来自致电我们的潜在客户。由于这将是一个不断增长的患者和电话列表,我想使用数组公式搜索每个患者提供的所有五个 phone 号码,将它们与来自的 phone 号码进行比较付费线索中的 Col A 和 return 第一个匹配 phone 号码的值。因此,如果患者 999999 的单元格 phone 与“付费线索”选项卡中的任何 phone 号码匹配,那么我想 return 匹配 phone 号码。

因为我不确定是否有办法做到这一点,所以我有一个替代方案可以工作,其中数组公式将 return 每行的 E 列到 I 列的第一个非空值.如果这是一个更容易编写的公式,那么我可以想出一种方法来安排数据,以便使用不相关的查询来完成这项工作。

感谢您提供的任何帮助!

您可以使用两个公式:

这个将特定患者的 phone 号码与您在付费电话 sheet 中的号码列表进行比较。

=join(char(10),FILTER(E2:I2,ARRAYFORMULA(ISNUMBER(MATCH(E2:I2,PaidCalls!A2:A,0)))))

另一个简单地遍历每个患者的 phone 编号并选择第一个不为空的编号。这很简单。这是一系列嵌套条件,都遵循以下模式:

如果此单元格不是空白,则使用它的值。如果为空,则继续下一个单元格。

=IF(not(isblank(E2)),E2,IF(not(isblank(F2)), F2, IF(not(isblank(G2)), G2, IF(not(isblank(H2)),H2, IF(not(isblank(I2)),I2)))))

PS: 请注意,我在实现中使用了名称 'PaidCalls' 而不是 'Paid Calls'。其他一切都根据您的 sheet 的结构工作。我也已经复制到你分享的GoogleSheet

如果您需要任何进一步的解释,请告诉我,尤其是第一个公式。

formula that will return the phone number from this row that matches any phone number from Column A in the Paid Calls tab.

=JOIN(CHAR(10),unique(QUERY(ArrayFormula(IFERROR(VLOOKUP(
 {E5;F5;G5;H5;I5},PaidCalls!A:A,1,0),)),
 "select Col1 where Col1 is not null", 0)))

formula that will return the first non-blank value from columns E through I of each row below

=INDEX(QUERY(transpose(E5:I5),"select Col1 where Col1 is not null",0),1,1)