求助大佬,如何对数据按要求增加数值
excel吧
全部回复
仅看楼主
level 7
fanticky
楼主
现在想要对红圈内的数据进行处理,规则是以线号为单位,F列 X数值从起点开始,下一行每行数值在前一个数值上加10,1号线长度是190,即加19行,每行按10递增。C列标注也是以线号为单位,每行按10递增,到该线号终点数值结束。1号线,起点标注1960,终点标注2150。
求助大佬,给个一键下拉的公式,电脑高版本函数也支持
2026年07月30日 09点07分
1
level 7
fanticky
楼主
把红圈里数据处理成左边那样
2026年07月30日 13点07分
2
level 8
垂天之
=REDUCE({"X","Y","标注","线号"},F2:F20,LAMBDA(x,y,LET(a,OFFSET(y,,4)/10+1,VSTACK(x,HSTACK(SEQUENCE(a,,0)*10+y,REPTARRAY(OFFSET(y,,1),a),SEQUENCE(a,,0)*10+OFFSET(y,,3),REPTARRAY(OFFSET(y,,2),a))))))
2026年07月31日 02点07分
3
fanticky
大佬,为什么会报错,图片贴出来了
2026年07月31日 03点07分
level 8
垂天之
=REDUCE({"X","Y","标注","线号"},TRIMRANGE(F2:F10000),LAMBDA(x,y,LET(a,OFFSET(y,,4)/10+1,VSTACK(x,HSTACK(SEQUENCE(a,,0)*10+y,REPTARRAY(OFFSET(y,,1),a),SEQUENCE(a,,0)*10+OFFSET(y,,3),REPTARRAY(OFFSET(y,,2),a))))))
F列数据可1万列,可根据需要更改
2026年07月31日 02点07分
4
level 7
fanticky
楼主
2026年07月31日 03点07分
5
火昜
NAME错误,函数名不认识。图中所用的是excel,函数里的REPTARRAY是wps特有的函数。改用wps就行了。
2026年07月31日 05点07分
fanticky
@火昜
大佬,能用哪个excel函数代替不,电脑上没有wps
2026年07月31日 06点07分
level 8
垂天之
=REDUCE({"X","Y","标注","线号"},TRIMRANGE(F2:F10000),LAMBDA(x,y,LET(a,OFFSET(y,,4)/10+1,VSTACK(x,HSTACK(SEQUENCE(a,,0)*10+y,MAKEARRAY(a,,(LAMBDA(m,n,OFFSET(y,,1)))),SEQUENCE(a,,0)*10+OFFSET(y,,3),MAKEARRAY(a,,LAMBDA(m,n,OFFSET(y,,2))))))))
暂时先这样
2026年07月31日 08点07分
6
fanticky
还是不行,报错了,name
2026年07月31日 14点07分
fanticky
excel里没有TRIMRANGE函数
2026年07月31日 14点07分
fanticky
我的Excel里没这个函数
2026年07月31日 14点07分
垂天之
=REDUCE({"X","Y","标注","线号"},F2:F20,LAMBDA(x,y,LET(a,OFFSET(y,,4)/10+1,VSTACK(x,HSTACK(SEQUENCE(a,,0)*10+y,MAKEARRAY(a,,(LAMBDA(m,n,OFFSET(y,,1)))),SEQUENCE(a,,0)*10+OFFSET(y,,3),MAKEARRAY(a,,LAMBDA(m,n,OFFSET(y,,2)))))))) 暂时先这样
2026年07月31日 23点07分
level 8
垂天之
=LET(a,REDUCE(F1:I1,F2:F20,LAMBDA(x,y,VSTACK(x,OFFSET(y,,,,4)+{10,0,0,10}*SEQUENCE(OFFSET(y,,4)/10+1,,0)))),CHOOSECOLS(a,1,2,4,3))
2026年08月01日 00点08分
7
我撑着油纸伞
@fanticky
人家帮你写的公式对应的那个表,线号在第三列,线号不用加,标注在第四列,标注要加,所以是{20,0,0,20},你最新的这个表,线号的位置跑到第四列了,还继续用{20,0,0,20},线号就要加20了,所以线号乱了,自己调整一下顺序。
2026年08月05日 06点08分
fanticky
厉害了!搞定了,感谢,这次本来是要搞20的增量标注,自己改一下就能用。
2026年08月01日 01点08分
fanticky
大佬,今天用这个新公式,F列长度变了,相应的我把公式对应的也改了,出来的结果怎么不合适了,照片贴出来了
2026年08月05日 03点08分
fanticky
线号都是乱的
2026年08月05日 03点08分
level 7
fanticky
楼主
2026年08月05日 03点08分
8
垂天之
试试 =LET(增量,10,a,REDUCE(F1:I1,F2:F20,LAMBDA(x,y,VSTACK(x,OFFSET(y,,,,4)+HSTACK(增量,0,0,增量)*SEQUENCE(OFFSET(y,,4)/增量+1,,0)))),CHOOSECOLS(a,MATCH(A1:D1,F1:K1,0)))
2026年08月05日 08点08分
fanticky
@垂天之
感谢大佬,找到原因了,线号需放在第三列,新公式也是秒好
2026年08月05日 08点08分
level 8
垂天之
你这次的H、I列调换了
2026年08月05日 08点08分
9
level 8
垂天之
可以不用考虑F1:K1的顺序,填好A1:D1所要求的数据,只更改“增量”和“范围”,即可自动生成,在A2输入:
=LET(增量,10,范围,F2:.F200,a,DROP(REDUCE("",范围,LAMBDA(x,y,VSTACK(x,OFFSET(y,,,,6)+LET(c,IF(F1:K1={"x";"标注"},增量,0),TAKE(c,1)+TAKE(c,-1))*SEQUENCE(OFFSET(y,,4)/增量+1,,0)))),1),CHOOSECOLS(a,MATCH(A1:D1,F1:K1,0)))
2026年08月05日 14点08分
10
fanticky
感谢
2026年08月06日 03点08分
1