【问题标题】:Google Sheet App Scrip Update Cell based on values of another基于另一个值的 Google Sheet App 脚本更新单元格
【发布时间】:2021-08-06 22:36:21
【问题描述】:

我正在尝试在打开工作表和编辑特定单元格时更新单元格值。

打开时

在示例工作表“交易”中,如果 Q 或 R 为空白,我将尝试根据日期 (B) 设置文本月份 (Q) 和年份 (R)。

编辑时

我试图通过查找与工作表“列表”中的类别(A)对应的匹配组(B)值来根据类别(D)中的值在工作表“事务”中设置组(P)。如果 Group(P) 为空且 Category(A) 不为空,或者用户在工作表“事务”中编辑 category(D),我都想这样做。

我今天一直在四处寻找类似堆栈流的东西,但还没有完全找到。

提前感谢您的帮助。

https://docs.google.com/spreadsheets/d/1QBq0fxty8K55UaM_uS42GY7dMpCHg4ClGMI4UtU-0T4/edit?usp=sharing

【问题讨论】:

  • 那么,您确定需要脚本吗?可以用脚本来完成。但是带有公式的@PGSystemTester 解决方案看起来已经足够了。特别是如果你不喜欢 JS 编码。

标签: google-apps-script google-sheets


【解决方案1】:

为什么不直接使用Array Formulas

将其放在“月”列中,从第 2 行开始。

=FILTER(text(B2:B,"MMMM"),Not(ISBLANK(B2:B)))

把这个放在年份:

=FILTER(text(B2:B,"YYYY"),Not(ISBLANK(B2:B)))

把这个放在比赛中:

=filter(VLOOKUP(D2:D,List!A:B,2,false),not(ISBLANK(B2:B)))

确保下面的行清晰,它会在创建值时自动更新。

【讨论】:

  • 我查看应用程序脚本的唯一原因是我有以下内容,并且工作表事务由外部服务自动更新。因此,每次添加新行时,它都会破坏数组。但是它可能只是我的阵列,我会试试你的,看看它是怎么回事。我宁愿简单,但应用程序脚本很有趣。 ARRAYFORMULA({"月";IF(B2:B="",,TEXT(B2:B,"mmmm"))})
  • 非常感谢他们出色的解决方案。
猜你喜欢
  • 1970-01-01
  • 2015-05-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多