【问题标题】:Finding Next Odd or Next Even Value in a list of numbers在数字列表中查找下一个奇数或下一个偶数
【发布时间】:2021-07-20 17:52:09
【问题描述】:

给定一个数字列表,我试图从给定数字的列表中找到下一个奇数或偶数。指定的数字不必在范围内。例如:

给定数字 406,我想从给定的数字列表中找到下一个偶数或奇数:

380
381
382
383
385
400
401
403
407
410
411
0
0
0
0

在这种情况下,下一个返回的偶数应该是 410,下一个返回的奇数应该是 407。

如果指定的数字在该列表中,则它应该从中返回下一个偶数或奇数。

我在 excel 中执行此操作并尝试创建一个可以执行此任务但无济于事的 UDF。任何帮助将不胜感激。

【问题讨论】:

  • 不需要 VBA:=@FILTER(A1:A15,(A1:A15>406)*(MOD(A1:A15,2)=0)),将 0 更改为 1 为奇数。
  • 或者如果您没有 FILTER:=AGGREGATE(15,7,A1:A15/((A1:A15>C1)*(MOD(A1:A15,2)=0)),1)

标签: excel vba user-defined-functions


【解决方案1】:

这里不需要 VBA:

如果您的 Excel 版本支持FILTER,即使使用:

=@FILTER(A1:A15,(A1:A15>406)*(MOD(A1:A15,2)=0))

并将 0 更改为 1 表示奇数。

如果您没有FILTER,则为偶数:

=AGGREGATE(15,7,A1:A15/((A1:A15>C1)*(MOD(A1:A15,2)=0)),1)

比较号存储在C1 中。同样将 0 更改为 1 表示奇数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-31
    • 1970-01-01
    • 2022-12-04
    • 1970-01-01
    相关资源
    最近更新 更多