如何生成镜像的数字序列
how to generate mirrored sequence of numbers
我正在寻找一种方法(轻量级单细胞公式解决方案)如何根据唯一值的计数生成镜像序列。给定值 2、3 和 4 的示例:
输入值始终是唯一的(如果重要的话)
输出序列需要分布在整个单元格范围内(如图所示)
请尝试以下操作
={TRANSPOSE(SEQUENCE(ROW(A15)-ROW(A12)+1)),
TRANSPOSE(SORT(SEQUENCE(ROW(A15)-ROW(A12)+1),1,0))}
稍后补充
和一样,也可以用
={TRANSPOSE(SEQUENCE(COUNTUNIQUE(A12:A15)+1)),
TRANSPOSE(SORT(SEQUENCE(COUNTUNIQUE(A12:A15)+1),1,0))}
不同之处在于,即使仅引用空单元格,使用第一个公式也可以创建序列。
我给自己设定了一个挑战,那就是在一个函数中完成这项工作——这一定是可行的,对吧?你只需要一个对称函数。
经过深思熟虑,我想到了以下形式的函数:
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))
我正在寻找一种方法(轻量级单细胞公式解决方案)如何根据唯一值的计数生成镜像序列。给定值 2、3 和 4 的示例:
输入值始终是唯一的(如果重要的话)
输出序列需要分布在整个单元格范围内(如图所示)
请尝试以下操作
={TRANSPOSE(SEQUENCE(ROW(A15)-ROW(A12)+1)),
TRANSPOSE(SORT(SEQUENCE(ROW(A15)-ROW(A12)+1),1,0))}
稍后补充
和
={TRANSPOSE(SEQUENCE(COUNTUNIQUE(A12:A15)+1)),
TRANSPOSE(SORT(SEQUENCE(COUNTUNIQUE(A12:A15)+1),1,0))}
不同之处在于,即使仅引用空单元格,使用第一个公式也可以创建序列。
我给自己设定了一个挑战,那就是在一个函数中完成这项工作——这一定是可行的,对吧?你只需要一个对称函数。
经过深思熟虑,我想到了以下形式的函数:
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))