gpt4 book ai didi

excel - excel中的数学转置

转载 作者:行者123 更新时间:2023-12-04 22:08:40 25 4
gpt4 key购买 nike

大家好!
我目前正在尝试在 VBScript 中实现之前在 excel 中找出一些东西。我必须在矩阵中以数学方式转置几个单元格(10*10 或 5r*10c):

-------------------------------------------
| .. | .. | .. | .. | .. | .. |
| 21 | 22 | 23 | 24 | 25 | .. |
| 11 | 12 | 13 | 14 | 15 | .. |
| 1 | 2 | 3 | 4 | 5 | .. |
-------------------------------------------

必须成为

-------------------------------------------
| .. | .. | .. | .. | .. | .. |
| 3 | 13 | 23 | 33 | 43 | .. |
| 2 | 12 | 22 | 32 | 42 | .. |
| 1 | 11 | 21 | 31 | 41 | .. |
-------------------------------------------

现在我不是数学家(我现在或多或少是程序员),但我想出了:F(y)=((MOD(x,10)-1)*10)+(1+((x-MOD(x,10))/10)) ( x 是顶部前 block 中的值,y 是下面的前 block 中的值。)现在这可以正常工作到某个点(例如 10 )。

在 VBScript 中,我首先编写了以下内容:

函数 GetPosInSrcRack(Pos)
Dim PlateDef(9), x, y, i, tmp

' 板定义
ReDim tmp(UBound(PlateDef))
对于 x = 0 到 UBound(PlateDef)
PlateDef(x) = tmp
下一个

我 = 1
对于 x = 0 到 UBound(PlateDef)
For y = 0 To UBound(PlateDef(x))
PlateDef(x)(y) = i
我 = (我 + 1)
下一个
下一个

'Dim msg' 检查定义
'对于 x = 0 To (UBound(PlateDef))
' msg = Join(PlateDef(x), ", ") & vbCrLf & msg
'下一个

' 获取位置
y = (pos Mod 10)
x = ((pos - y)/10)

GetPosInSrcRack = PlateDef(y)(x)
结束功能

当然,这很有效,但很糟糕。

使用上面的公式我会写:

函数 GetPosInSrcRack(Pos)
Pos = (((Pos MOD 10)-1)*10)+(1+((Pos - (Pos MOD 10))/10))
结束功能

但就像我说的,这仍然是不正确的(10 给出 -8)
有人可以帮助我吗?

最佳答案

只需使用 Paste Special > Transpose选项。

关于excel - excel中的数学转置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14873014/

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