google-sheets - 有没有办法使用 ARRAYFORMULA 查找列的最新偶数输入?
问题描述
已解决的编辑
感谢您的帮助。解决方案在这里。
原帖
我制作了一个谷歌表格来描述我在此处链接的问题(https://docs.google.com/spreadsheets/d/1yK6ZAX8BFnEqiuQO9HIxuY0l62ewDDccj-8EN1r2i2w/edit?usp=sharing)。
我还将在下面用文字描述我面临的问题以及我尝试过的解决方案。
A列的数据是随机的个位数(0-9)。我希望 B 列显示 A 列中最近的偶数,但只能显示特定行。该特定行是与B列中单元格的行相对应的行。换句话说,在单元格B7中,我想找到最近输入的A列偶数,特别是仅在范围A2:A7(A1包含列标题)。
这实际上是一个非常简单的公式,我可以通过简单地检查 A 列中某个单元格中的值是否为偶数,然后返回该单元格的值(如果为偶数)或上方单元格的输出(如果为偶数)来获得所需的输出不是。所以公式看起来像:<code>=IF(ISEVEN(A7),A7,B6)</code>
但是,我的问题是,随着输入更多数据,A 列中的数据长度会增加,而我目前使用填充句柄将公式复制到新单元格的解决方案既不优雅又耗时。所以我想要的解决方案是使用输入到 B 列 (B2) 的第一个单元格中的数组公式,能够返回与另一个公式相同的值。我尝试输入的公式如下:<code>=ARRAYFORMULA(IF(ISEVEN(A2:A),A2:A,INDIRECT(ADDRESS(ROW(A2:A)-1,2))) )</code>
但是,正如我之前的一些数组工作告诉我的那样,并非所有公式都按预期迭代数组。该公式似乎能够在已经是偶数的行上返回正确的输出,但它无法为所有其他行返回预期的最近输入的偶数。似乎该公式无法正确解释value_if_false
<code>IF 公式的参数。
我对脚本有点陌生,所以我仍在努力学习,但我也试图涉足自定义函数,但无济于事。在编码方面,我仍然耳后一片空白,这就是为什么我对 Google Sheets 的内置公式如此宽容的原因,但我担心我可能已经达到了 Sheets 公式所能做的极限。
我愿意尝试新方法,但我唯一真正的限制是我真的希望这是一个单触式(甚至更好的无触式)解决方案,希望这不会超出这个问题的范围。任何帮助将不胜感激。
编辑
在这里解决问题后,我回去尝试使用OFFSET
公式,希望我可以让它与数组公式很好地配合。唉,我不能,但我想我至少应该在这里发布我的进展以供参考。
还在努力!
解决方案
推荐阅读
- python - 合并 csv 文件的两行,使缺失值的行由包含所需值的匹配行的值填充
- javascript - 更新文件的“最后修改日期”
- spring - Spring Requestbody JSON Deserializer 未映射值
- python - 无法使用神经实验室训练数据集
- javascript - 我想要使用 Sequelize v5 MySQL 解决锁定行
- ruby-on-rails - NoMethodError:设置中未定义的方法“用户”
- python - 无法加载扩展“commands_files/say”
- swift - 编译失败:参数类型“字符”不符合预期类型“ExpressibleByStringLiteral”
- python - 使用 selenium 和 python 来评论 Instagram 上的帖子,但收到错误“元素不可交互”
- json - 从API返回时如何获取JSON Key的值