Tag: multidimensional array

VBA Excel在两个arrays上执行操作

我在我的程序中遇到了for循环的麻烦。 现在我有两个数组填充任意数字。 这两个数组的大小相同。 基本上我想让用户指定他们想要在数组上做什么样的操作,然后我将执行它们(假设数组是相同的尺寸)。 下面是我尝试填充原始两个数组之间的区别答案数组的代码: If (LCase(diffOrPercent = "difference")) Then For iRow = 1 To totalRow For iCol = 1 To totalCol answerArray(iRow, iCol) = s2Array(iRow, iCol) – s3Array(iRow, iCol) Next iCol Next iRow End If 我遇到的问题是,当我尝试打印出来时,答案是完全空白的。 有谁知道发生了什么事? 注意:如果for循环从0到结束-1,当我把以下内容发生同样的错误: answerArray(iRow, iCol) = s2Array(iRow, iCol).Value2 – s3Array(iRow, iCol).Value2 以及当我把价值而不是价值2。 谢谢, Jesse Smothermon

拆分multidimensional array,然后切片

我有一列path: C:\Series1\Season1\Ep1 C:\Series1\Season2\Ep1 C:\Series2\Season1\Ep1 C:\Series2\Season2\Ep1 C:\Series3\Season1\Ep1 我现在想把数组拆分成multidimensional array,所以最终看起来像这样: +—+—-+———+———+—–+ | | 1 | 2 | 3 | 4 | +—+—-+———+———+—–+ | 1 | C: | Series1 | Season1 | Ep1 | | 2 | C: | Series1 | Season2 | Ep1 | | 3 | C: | Series2 | Season1 | Ep1 | | 4 […]

来自xlsx文件的DataStructure

我正在从事一个项目,我必须从Excel文件中获取文件夹和子文件夹名称,保留层次结构并将它们存储在一个数组中,以使用该数组创build目录结构。 我正在使用Apache POI来读取excel文件。 我如何将它们存储到一个数组中,考虑到我有八个树级别? 例如 : Folder Subfolder01 Subfolder02 Subfolder02.01 Subfolder02.01.01 Subfolder02.01.01.01 Subfolder02.01.02 Subfolder03 Subfolder04 Subfolder04.01 Subfolder04.01.01 Subfolder04.01.01.01 Subfolder04.01.02 Subfolder04.01.02.01 Subfolder04.02 下面是我如何使用Apache POI库读取excel文件: public class ExcelReadClass { private static final String FILE_NAME = "D:/Work-Space/TESTExcel.xlsx"; public void readExcel(String fileName) { try { // XSSFWorkbook = XML SpreadSheet Format // is for Excel 2007 or above Workbook […]

VBA循环并行通过数组

我想创build一个循环通过特定的表和专门链接,但这不起作用,我误解如何使用数组? Sub test() Dim wb As Workbook, big, rc, sr As Worksheet, rejcheck, copyto, arr As variant Set wb = ActiveWorkbook Set big = wb.Sheets("BIG") Set oou = wb.Sheets("OOU") Set sr = wb.Sheets("SR") rejcheck = Array(big, sr, oou) copyto = Array(47, 23, 58) arr = Array(rejcheck, copyfrom) For Each x In arr With rejcheck .Range("a2").Copy […]

从multidimensional array到特定范围的VBA值

我的数组有四列数据。 我想将一个完整的行粘贴到Excel中。 (虽然不是整个arrays) 目前我正在用4行代码做这件事,但我怀疑可能会有一个简单的单行代码。 Cells(i, 1).Value = myArry(i, 1) Cells(i, 2).Value = myArry(i, 2) Cells(i, 3).Value = myArry(i, 3) Cells(i, 4).Value = myArry(i, 4) 你能build议一个更简单的解决scheme吗? 先谢谢你。 Ps编辑到post是受欢迎的。

VBA Redim保留

我不知道如何填充multidimensional array。 这里是我的代码,我刚开始理解,但我不知道什么是错的,除了一个循环,它不工作。 Sub test() Dim Arr1 As Variant Dim Row As Long For Row = 0 To 3 ReDim Arr1(9, Row) Arr1(0, Row) = "Zero" Arr1(1, Row) = "One" Arr1(2, Row) = "Two" Arr1(3, Row) = "Three" Arr1(4, Row) = "Four" Arr1(5, Row) = "Five" Arr1(6, Row) = "Six" Arr1(7, Row) = "Seven" Arr1(8, […]

如果二维数组中的值存在于另一个二维数组函数中

我需要一个函数来帮助我确定二维数组中的值是否存在于另一个二维数组中。 我试图重构一个在这个问题上工作的以前的函数。 我遇到了这样的错误,如Byref argument type mismatch (其中我添加了ByVal语句),以及当前我正在面向function call on left-hand side of assignment错误。 Public aLogic As Variant Public Field_List(1 To 70, 1 To 10) As String, Field_No_of_Rows As Long Sub Implement_Mapping() Dim aMapRow As Integer, aMapCol As Integer For aMapRow = LBound(aLogic, 1) To UBound(aLogic, 1) For aMapCol = LBound(aLogic, 2) To UBound(aLogic, 2) If […]

在C#中计算值的数组(从Excel转换公式)

我目前正在build立一个半复杂的计算器,这个计算器基本上是从我提供的Excel电子表格转换而来的。 我已经掌握了大部分内容,但Excel电子表格中有一部分是在6行和7列之间进行多次计算的,但问题在于,计算并没有按照特定的顺序发生。 因此,例如,使用(Row2[Column4] * Row2[Column5])计算(Row4[Column2] / Row5[Column1])使用(Row4[Column2] / Row5[Column1])计算Row1[Column4]等等。 。 我曾经想过使用二维数组,但是恐怕这些数值会按照特定的顺序计算,因此当它们到达时没有任何价值。 据我所知, Row1将首先计算,然后Row2 , Row3等 所以,没有为我的Excel电子表格中的每个单元格创build一个variables(并相应地sorting),有没有一种方法可以使用C#来计算? 我真的很感激任何帮助,build议,指针,无论你认为可能 – 我很乐意听到它! 编辑实现由@dtb提供的Lazy类后,我有以下代码。 这是我提供的Excel电子表格内容的直接副本,包括指针和计算。 var sr = new Lazy<decimal>[6, 6]; sr[0, 0] = new Lazy<decimal>(() => sr[1, 0].Value – eNumber); sr[0, 3] = new Lazy<decimal>(() => sr[0, 4].Value – sr[1, 0].Value – sr[1, 4].Value); sr[0, 4] = new […]

使用POI读取一系列Excel表格数据

我正在做一些POC读取范围从一个Excel文件的数据在爪哇单数。 我必须使用Java中的POI读取一个excel文件,其中行的数量将接近100,000,列的数量将接近240.我从互联网上获得的大多数例子都讲述了如何使用rowIterator和cellIterator完成这项工作。 但是由于rowcount和columncount是巨大的,遍历每个单元格并将数据添加到数组不是一个可行的解决scheme。 POI API中是否有任何方法可以一次获取一个单元格的范围,并将其转移到java中的数组? 我仍然经历POI API,但直到现在还没有find解决scheme。 如果有人知道这样一个方法,你能用一个小例子来说明吗?

在VBA中排列一个数组来计算Shapley-Shubik幂指数

我想这是我在这个论坛上的第一个问题,所以如果我错过了一些规则,不好意思。 我正在尝试编写一个VBAalgorithm来计算Shapley-Shubik索引。 这个指数需要计算一系列数字(代表议会,国会等的选票)的所有排列。 经过一番深入的研究,我明白了一个人必须使用recursionalgorithm来执行这样的事情。 我的想法是在VBA中创build一个matrix,其中每个元素分开存储,每行包含不同的排列。 这是我可以随后执行计算并检索计算此类索引所需的正确标签值的唯一方法。 问题是我无法理解如何恢复到以前的水平,一旦我达到recursion的最后一级。 (编辑)最终,我能够想出一个解决scheme。 我发布了下面的结果,因为我已经看到它已被要求。 我应该警告,这是一个非常低效的代码,它不能和超过7个玩家一起工作。 这是因为vba不能处理由这个代码创build的非常大的matrix,所以程序只是崩溃而出现溢出错误。 然而,在编写这段代码时,这并不是特别聪明,这意味着修改代码以使其能够为更多的玩家工作是非常容易的。 基本上,不是使用排列函数来创buildmatrix,而是需要计算每个特定排列中的关键球员,然后使用数组“存储”频率。 不幸的是,我没有时间修改代码,因为我目前正在其他项目上工作,虽然有些相关,使用Matlab代替。 这是我组装的function: Public Function ShapleyShubik( _ Votes As Range, _ Coalitions As Range, _ Candidate As String, _ Threshold As Double) As Double ' '—————————————————— ' by Sim1 ' This function computes the Shapley-Shubik Power Index ' For a specified coalition among […]