【问题标题】:how to generate mirrored sequence of numbers如何生成镜像的数字序列
【发布时间】:2020-07-31 22:35:48
【问题描述】:

我正在寻找一种方法(轻量级单细胞公式解决方案)如何根据唯一值的计数生成镜像排序。给定值的 2、3 和 4 示例:

  • 输入值总是唯一的(如果重要的话)

  • 输出序列需要分布在单元格范围内(如图所示)

【问题讨论】:

  • 除了计数之外,您还需要一件物品。也就是说,一种告诉您的单元格在序列中的位置的方法。如果你有一个索引行,那很容易——如果索引小于或等于计数,值就是索引。否则值为 (2*count+1-index)。

标签: arrays google-sheets sequence google-sheets-formula array-formulas


【解决方案1】:

请尝试以下方法

={TRANSPOSE(SEQUENCE(ROW(A15)-ROW(A12)+1)), 
  TRANSPOSE(SORT(SEQUENCE(ROW(A15)-ROW(A12)+1),1,0))} 


后期添加
作为commented by player0,也可以使用

={TRANSPOSE(SEQUENCE(COUNTUNIQUE(A12:A15)+1)), 
      TRANSPOSE(SORT(SEQUENCE(COUNTUNIQUE(A12:A15)+1),1,0))}  

不同之处在于使用第一个公式,即使只引用空单元格,也可以创建序列。

【讨论】:

  • 我希望有一些更短的,但是,是的,这也可以工作。 (最终使用i.stack.imgur.com/pqrwE.png)。谢谢。
  • "...最终使用..."。这也很好。你介意我添加到我的答案吗?用户很少能进入 cmets。
  • 当然,去吧
【解决方案2】:

我为自己设定了在单个函数中执行此操作的挑战 - 这一定是可能的,对吧?你只需要一个对称函数。

经过一番思考,我想出了一个表单的功能:

y=c-abs(x)

因此,如果您可以生成 x 值,例如(对于 n=3 的情况)

-2.5 -1.5 -.5 0.5 1.5 2.5

你只需要从 3.5 中减去它们的绝对值就可以得到

1 2 3 3 2 1

不幸的是,Sequence 只会生成整数值,因此公式并不像人们希望的那样整洁:

=ArrayFormula(counta(A:A)+0.5-abs(sequence(1,counta(A:A)*2,-counta(A:A))+0.5))

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-04-25
  • 2017-02-13
  • 1970-01-01
  • 2017-09-28
  • 2015-12-06
  • 2023-01-09
  • 1970-01-01
相关资源
最近更新 更多