gpt4 book ai didi

excel - 溢出范围 : casting arrays to intersection value with @

转载 作者:行者123 更新时间:2023-12-04 11:57:45 25 4
gpt4 key购买 nike

在 Excel 引入溢出范围之前,在“@ 之前” 运算符,可以使用“0+ 将范围“转换”为单个值”(数值)或“""& ”(字符串)。但是“@ ”不太一样。

假设有一列从 B4 向南的正整数;从 D2 向东有一排正整数;并且 A 列和 C 列以及第 1 行和第 3 行完全为空。

目的是将单个溢出公式放入 D4,引用类似于 $B$4# 的内容和 $D$2# ,即当列整数大于行整数时,计算两个整数的成对最大公约数。每个所需的溢出单元都是 成对 的 GCD只有两个整数 .

所以一个候选公式是:

= IF($B$4#>$D$2#, @GCD(@$B$4#, @$D$2#), "·")

GCD看到两个数组参数,而不是从两个数组中提取/相交的两个值,因此计算所有这些整数的 GCD,不可避免地返回 1 .叹。

事实上,接下来的几个甚至都没有溢出。
= @IF(@$B$4#>@$D$2#, GCD(@$B$4#, @$D$2#), "·")
= IF(@$B$4#>@$D$2#, @GCD(@$B$4#, @$D$2#), "·")
= @IF($B$4#>$D$2#, @GCD(@$B$4#, @$D$2#), "·")
= GCD($B$4#, $D$2#)
= GCD(@$B$4#, @$D$2#)

请提出建议。

(Mac Excel 16.32 (19120802)——希望这无关紧要。)

谢谢你。

最佳答案

这需要一段时间才能广泛使用,但这可以通过递归 LAMBDA 来完成。 .
设置名称

gcdArray =LAMBDA(vData,hData,vIndex,hIndex,
LET(vSq,SEQUENCE(COUNT(vData)),
hSq,SEQUENCE(1,COUNT(hData)),
g, GCD(INDEX(vData,vIndex),INDEX(hData,hIndex)),
vFrame, IF(vIndex < COUNT(vData), IF(hIndex=1, gcdArray(vData, hData, vIndex+1, hIndex),""),""),
hFrame, IF(hIndex < COUNT(hData), gcdArray(vData, hData, vIndex, hIndex+1),""),
IF(vIndex=vSq,IF(hIndex=hSq,g,hFrame),vFrame)))
然后使用 =gcdArray(B4#, D2#, 1, 1)这可以修改为通常评估类似的 2D 函数。设置名称
eval2Drecur =LAMBDA(func,vData,hData,vIndex,hIndex,
LET(vSq,SEQUENCE(COUNT(vData)),
hSq,SEQUENCE(1,COUNT(hData)),
y, func(INDEX(vData,vIndex),INDEX(hData,hIndex)),
vFrame, IF(vIndex < COUNT(vData),IF(hIndex = 1, eval2Drecur(func, vData, hData, vIndex+1, hIndex),""),""),
hFrame, IF(hIndex < COUNT(hData), eval2Drecur(func, vData, hData, vIndex, hIndex+1),""),
IF(vIndex=vSq,IF(hIndex=hSq,y,hFrame),vFrame)))

nameGCD =LAMBDA(x, y, GCD(x,y))
然后调用 =eval2Drecur(nameGCD, B4#, D2#, 1, 1)MAKEARRAY 函数的更新 MAKEARRAY仍处于测试阶段。当它发布时,它将简化答案。
=MAKEARRAY(ROWS(B4#),COLUMNS(D2#),LAMBDA(a, b,
LET(c,INDEX(B4#,a),
d,INDEX(D2#,b),
IF(c>d, GCD(c, d), "·"))))

关于excel - 溢出范围 : casting arrays to intersection value with @,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59601384/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com