Return 如果 Google 工作表中的 2 个条件匹配则列表
Return a list if 2 criteria match in Google Sheets
为了组织员工培训:到目前为止,我已经做了支点 table,但我希望支点 table 提取谁需要哪些培训,作为列表在一个牢房里。我尝试使用 =JOIN,但我不知道还有什么。
在 sheet 1:
- 第 2 行:员工(需要培训),他们在该培训的列的行中输入“需要”。
- D 栏:培训名称
- E 列:Trainers/Staff 提供培训的人员
在轴上 Table
列
- 甲:训练师
- B:他们在教什么模块
- C:训练多长时间
- D:一个单元格,列出了谁请求了培训(谁在 Sheet 1 中输入了“需要”)
我想简单地说一下:
- 在 sheet 1 中查找此培训的名称,并且如果该行中的单元格值为“需要”,Return person/people 的名称和将其列在该枢轴旁边的一个单元格中 table......(lolll 我不会哭)。
公式类似于:
从Sheet1!F1:Z if (Training names) Sheet1!D:D match Pivot table B:B 并且在该培训的行中有一个“需要”....然后在一个单元格中列出这些名称。
我想我已经解释完了,但这已经花了一整天,我的大脑根本无法再工作,我自己的公式 sheet 也无济于事,如果可以的话请帮忙。
我已经尝试过:=JOIN 与 Match 混合,然后是 Filter...不知道我在做什么。并且 pivot table 没有从整个数据集中过滤“NEEDS”的选项。相反,它让我过滤 Name/Column 的“NEEDS”,但如果我这样做,它会过滤掉其他人的数据。基本上,它迫使我制作一个自定义公式,这很棒,因为我可以学习,但是......我真的希望所有这些都有意义:(。任何帮助都是天堂。
根据我的样本 sheet,试试这个只带回那些需要培训的人:
=arrayformula({"Trainer","Module","Durantion/Mins","Who NEEDS training";query(split(flatten(if(Sheet1!D5:D<>"",Sheet1!E5:E&char(9999)&Sheet1!D5:D&char(9999)&Sheet1!C5:C&char(9999)&if(Sheet1!F5:J="NEED",Sheet1!F2:J2,),)),char(9999)),"where Col4 is not null",0)})
我的解决方案显示在 Sheet1 的单元格 L1
中,但您可以将其放在不同的 sheet 中,根据需要更新对 Sheet1!
的引用。
假设“持续时间”、“模块”、“培训师”数据从第 5 行开始,人员在 F 到 J 列中。根据需要进行调整。
要带回需要培训的员工以及没有指定员工的“持续时间”、“模块”、“培训师”的每个排列,您可以使用:
=arrayformula({"Trainer","Module","Durantion/Mins","Who NEEDS training";unique(query(split(flatten(if(Sheet1!D5:D<>"",Sheet1!E5:E&char(9999)&Sheet1!D5:D&char(9999)&Sheet1!C5:C&char(9999)&if(Sheet1!F5:J="NEED",Sheet1!F2:J2,),)),char(9999)),"where Col1 is not null",0))})
为了组织员工培训:到目前为止,我已经做了支点 table,但我希望支点 table 提取谁需要哪些培训,作为列表在一个牢房里。我尝试使用 =JOIN,但我不知道还有什么。
在 sheet 1:
- 第 2 行:员工(需要培训),他们在该培训的列的行中输入“需要”。
- D 栏:培训名称
- E 列:Trainers/Staff 提供培训的人员
在轴上 Table
列
- 甲:训练师
- B:他们在教什么模块
- C:训练多长时间
- D:一个单元格,列出了谁请求了培训(谁在 Sheet 1 中输入了“需要”)
我想简单地说一下:
- 在 sheet 1 中查找此培训的名称,并且如果该行中的单元格值为“需要”,Return person/people 的名称和将其列在该枢轴旁边的一个单元格中 table......(lolll 我不会哭)。
公式类似于:
从Sheet1!F1:Z if (Training names) Sheet1!D:D match Pivot table B:B 并且在该培训的行中有一个“需要”....然后在一个单元格中列出这些名称。
我想我已经解释完了,但这已经花了一整天,我的大脑根本无法再工作,我自己的公式 sheet 也无济于事,如果可以的话请帮忙。
我已经尝试过:=JOIN 与 Match 混合,然后是 Filter...不知道我在做什么。并且 pivot table 没有从整个数据集中过滤“NEEDS”的选项。相反,它让我过滤 Name/Column 的“NEEDS”,但如果我这样做,它会过滤掉其他人的数据。基本上,它迫使我制作一个自定义公式,这很棒,因为我可以学习,但是......我真的希望所有这些都有意义:(。任何帮助都是天堂。
根据我的样本 sheet,试试这个只带回那些需要培训的人:
=arrayformula({"Trainer","Module","Durantion/Mins","Who NEEDS training";query(split(flatten(if(Sheet1!D5:D<>"",Sheet1!E5:E&char(9999)&Sheet1!D5:D&char(9999)&Sheet1!C5:C&char(9999)&if(Sheet1!F5:J="NEED",Sheet1!F2:J2,),)),char(9999)),"where Col4 is not null",0)})
我的解决方案显示在 Sheet1 的单元格 L1
中,但您可以将其放在不同的 sheet 中,根据需要更新对 Sheet1!
的引用。
假设“持续时间”、“模块”、“培训师”数据从第 5 行开始,人员在 F 到 J 列中。根据需要进行调整。
要带回需要培训的员工以及没有指定员工的“持续时间”、“模块”、“培训师”的每个排列,您可以使用:
=arrayformula({"Trainer","Module","Durantion/Mins","Who NEEDS training";unique(query(split(flatten(if(Sheet1!D5:D<>"",Sheet1!E5:E&char(9999)&Sheet1!D5:D&char(9999)&Sheet1!C5:C&char(9999)&if(Sheet1!F5:J="NEED",Sheet1!F2:J2,),)),char(9999)),"where Col1 is not null",0))})