Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google sheets GoogleSheet:在一个范围内循环的公式_Google Sheets_Google Sheets Formula - Fatal编程技术网

Google sheets GoogleSheet:在一个范围内循环的公式

Google sheets GoogleSheet:在一个范围内循环的公式,google-sheets,google-sheets-formula,Google Sheets,Google Sheets Formula,使用自定义函数实现这一点并不困难,但我想知道是否有一种方法可以使用公式实现。因为使用自定义函数时数据不会自动更新 所以我有一张课程表,每张都有价格。我使用谷歌表单让用户选择他们将要学习的课程。用户可以参加多个课程,所以他们将参加多少课程是未知的。 现在在回复表中,我有如下数据 订单号 用户ID 课程 全部的 1001 38 courseA,courseC 这里放什么公式? 1002 44 courseB,courseC,courseD 这里放什么公式? 1003 55 课程 这里放什么公式? 尝

使用自定义函数实现这一点并不困难,但我想知道是否有一种方法可以使用公式实现。因为使用自定义函数时数据不会自动更新

所以我有一张课程表,每张都有价格。我使用谷歌表单让用户选择他们将要学习的课程。用户可以参加多个课程,所以他们将参加多少课程是未知的。 现在在回复表中,我有如下数据

订单号 用户ID 课程 全部的 1001 38 courseA,courseC 这里放什么公式? 1002 44 courseB,courseC,courseD 这里放什么公式? 1003 55 课程 这里放什么公式? 尝试:

尝试:


因为我需要时间来消化@player0的答案,所以我以一种更直观的方式来做这件事。 我创建了两张图纸来存储中间值。 第一个被命名为“精选课程”

订单号 用户ID 1001 =IFERROR(数组公式(修剪(拆分(索引(courses,Row(),1),“,”))),“”) 1002 =IFERROR(数组公式(修剪(拆分(索引(courses,Row(),1),“,”))),“”) 1003 =IFERROR(数组公式(修剪(拆分(索引(courses,Row(),1),“,”))),“”)
因为我需要时间来消化@player0的答案,所以我以一种更直观的方式来做这件事。 我创建了两张图纸来存储中间值。 第一个被命名为“精选课程”

订单号 用户ID 1001 =IFERROR(数组公式(修剪(拆分(索引(courses,Row(),1),“,”))),“”) 1002 =IFERROR(数组公式(修剪(拆分(索引(courses,Row(),1),“,”))),“”) 1003 =IFERROR(数组公式(修剪(拆分(索引(courses,Row(),1),“,”))),“”)
非常感谢。请你也看看我的答案好吗?@shenkwen看到演示电子表格。。。我在最后的配方中添加了一步一步的指南谢谢。请你也看看我的答案好吗?@shenkwen看到演示电子表格。。。我在最后的公式中加入了一步一步的指导,你害怕是对的。数据集越大=计算时间越长。为了解决这个问题,你应该提高效率,在每一行使用数组公式而不是每单元格公式,这将停止你的电子表格。我还在学习使用ArrayFormula。我在电子表格中命名了许多基于列的范围。这些命名范围似乎与ArrayFormula不太兼容。让我困惑的一点是,当用作函数的参数时,大多数情况下,命名范围的行为类似于一个值,但有时(例如,在
过滤器
函数中)它们的行为类似于一个范围。arrayFormula是影响命名范围行为的另一个因素。当
arrayFormula
Filter
和其他函数一起使用时,它会变得更加复杂,因此我经常会得到范围错移错误。你害怕是对的。数据集越大=计算时间越长。为了解决这个问题,你应该提高效率,在每一行使用数组公式而不是每单元格公式,这将停止你的电子表格。我还在学习使用ArrayFormula。我在电子表格中命名了许多基于列的范围。这些命名范围似乎与ArrayFormula不太兼容。让我困惑的一点是,当用作函数的参数时,大多数情况下,命名范围的行为类似于一个值,但有时(例如,在
过滤器
函数中)它们的行为类似于一个范围。arrayFormula是影响命名范围行为的另一个因素。当
arrayFormula
Filter
和其他函数一起使用时,它会变得更加复杂,因此我经常会得到范围误码错误。
=ARRAYFORMULA(IF(A2:A="",,MMULT(IFERROR(
 VLOOKUP(SPLIT(C2:C, ", "), {F1&F2:F, G2:G}, 2, 0))*1, 
 ROW(INDIRECT("1:"&COLUMNS(SPLIT(C2:C, ", "))))^0)))