Tag: array

将multidimensional array的行发送到工作表

我有一个大的二维(550行,260列)数组,并希望将数组的整行发送到一个电子表格(不是在数组中相同的顺序)。 我坚持从二维数组中挑选一个单独的行(比如第12行)并将其放在工作表上。 你设定的目的地resize的单元格? 请任何帮助将不胜感激!

具有多个条件的Excel聚合公式

我试图从我的数据的子集中确定最小的非零值,其中子集由单元格值指示/确定(如图所示)。 粗体显示的公式使用CTRL + SHIFT + ENTER(数组公式)build议的其他答案类似的问题在这里和其他地方。 数据表以蓝色显示(包含标题的行1:6)。 包括预期和实际结果在内的公式如下所示。 为了本例的目的,数据表中的值是手动input的,并且是精确的整数。 在公式中用“> 2”代替“> 0”给出了相同的结果(这不是一个舍入问题)。 我如何在C11中获得预期的结果?

如果匹配,需要匹配不同工作表中的数据并replace另一个单元格中的数据

我需要将A2列中的数据与1中的数据匹配到A2中的数据等等。如果表1和表2中A列中的数据匹配,我需要表格B&C中的数据2来replace表1 B&C列中的数据。我知道很less做这种东西,所以任何帮助将非常感激! 表1 ABC 2 12345 5.35 9.95 3 15874 4.22 10.99 4 11111 2.24 5.99 5 98745 5.33 9.95 6 88552 4.24 8.95 表2 ABC 2 11111 2.09 5.79 3 12345 5.11 9.89 4 88552 4.01 8.79 需要换1张 ABC 2 12345 5.11 9.89 3 15874 4.22 10.99 4 11111 2.09 5.79 5 98745 5.33 […]

dynamic表:INDIRECT和INDEX来比较数组公式中的单元格内容

概述 :我正在尝试使用INDIRECT与INDEX,ROW和COLUMN结合来获得一个dynamic表。 问题 : 对于Worksheet1中给定列的每个单元格,请在其左侧读取该单元格的内容。 将Worksheet2中的列的内容与读取的内容进行比较。 对于每个匹配,从Worksheet2中获取一个variables的值。 评估find的值的最大值,将其复制到Worksheet1原始单元格中。 我怎么做(显然是错的) : {=MAX(IF('Worksheet 2'!$A$4:$A$101=INDIRECT(ADDRESS(ROW();COLUMN()-1;4)); 'Worksheet 2'!$D$4:$D$101))} 我期望它做什么: INDIRECT(ADDRESS(ROW();COLUMN()-1;4)) —将内容读取到工作表1中左侧的单元格 'Worksheet 2'!$A$4:$A$101=INDIRECT(ADDRESS(ROW();COLUMN()-1;4)) —获得一个TRUE / FALSE值的数组,其中TRUE是在Worksheet 2列A包含值previousl IF('Worksheet 2'!$A$4:$A$101=INDIRECT(ADDRESS(ROW();COLUMN()-1;4)); 'Worksheet 2'!$D$4:$D$101)每个TRUE,从工作表2的列D中提取相应的值 {=MAX(IF('Worksheet 2'!$A$4:$A$101=INDIRECT(ADDRESS(ROW();COLUMN()-1;4)); 'Worksheet 2'!$D$4:$D$101))} —从COLUMN D提取的值中,取MAX 我得到了什么 :一个#VALUE! 错误。 有人能解释我为什么提出一个可行的替代?

在C#中使用Excel将单元格值传输到二维string数组

我需要有人创build一个方法,将我的所有细胞价值在Excel电子表格到二维数组。 我正在使用C#中的function区来使用Excel,但我不能让它工作。 private string[,] GetSpreadsheetData () { try { Excel.Application exApp = Globals.TSExcelAddIn.Application as Excel.Application; Excel.Worksheet ExWorksheet = exApp.ActiveSheet as Excel.Worksheet; Excel.Range xlRange = ExWorksheet.get_Range("A1","F188000"); object[,] values = (object[,])xlRange.Value2; string[,] tsReqs = new string[xlRange.Rows.Count, 7]; char[] alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".ToCharArray(); for (int i = 0; i < tsReqs.GetLength(0); i++) { for (int z = 0; z […]

数组公式:嵌套的ifs和相同的行计算

有2个input: A1和B1 。 在D列中,有许多types的对象A.在列B中,有许多types的对象B. 以下是公式应该做的事情: 如果(D2是'A1',G2是'B1')那么,如果(E2大于F2),减去E2和F2(在这个例子中是5 – 4),否则减去F2到E2 12)。 如果没有匹配,不要做任何事情,只是跳过这一行。 我想这样做一个数组公式( Ctrl + Shift + Enter ),所以它将总结一切。 在这个例子中,输出将是-1,因为sum(和(5-4)(2-4))。 到目前为止,我有以下几点: {=SUM(IF((D2:D12="A1")+(G2:G12="B1");E2:E12-F2:F12;0))} 但它不能正常工作,因为我不确定Excel如何读取减法部分。 我想能够减去find组合的那一行的值。

是否可以使用公式或某种AND OR条件来筛选Excel表格?

当我使用自动过滤function时,它基本上正在执行AND操作。 当我自动筛选两列或更多列时,是否可以使用OR操作? 例如下面的表格,我需要所有与性别= Male 或angular色= Teacher : Gender Role Male Student Male Teacher Female Student Male Teacher Female Teacher Female Teacher

ReDim在Excel VBA中用multidimensional array保存

我可以得到这个工作,但不知道这是否是正确的或最有效的方式做到这一点。 详细信息:遍历151行,然后将这些行的列A和B仅分配给基于列C条件的二维数组。 根据标准,在arrays中只需要151行中的114个。 我知道,使用ReDim Preserve,您只能调整最后一个数组维度,并且不能更改维数。 所以我已经使用LRowvariables调整了数组中的行的总数为151行,但是我只需要在数组中的实际行数在variablesValidRow所以看起来(151-114)= 37多余的行在数组中作为ReDim保留线的结果。 我想使arrays只有它所需要的那么大,这是114行不是151,但不知道这是可能的,看下面的代码和任何帮助非常赞赏,因为我是新的arrays,花了两个最好的部分天看着这个。 注意:列是一个常量没有问题,但行不同。 Sub FillArray2() Dim Data() As Variant Dim ValidRow, r, LRow As Integer Sheets("Contract_BR_CONMaster").Select LRow = Range("A1").End(xlDown).Row '151 total rows Erase Data() For r = 2 To LRow If Cells(r, 3).Value <> "Bridge From" And Cells(r, 3).Value <> "Bridge To" Then ValidRow = ValidRow + 1 ReDim […]

使用findnext填充multidimensional arrayVBA Excel

我的问题实际上涉及一个问题,扩展在EXCEL VBA商店search结果的数组? 在这里,Andreas试图search一列,并将命中保存到一个数组。 我正在尝试相同的。 但不同的是(1)find一个值(2)我想复制不同的值types从(3)单元格在findsearch值的同一行,(4)到一个二维数组。 所以这个数组(概念上)看起来像这样: Searchresult.1st SameRow.Cell1.Value1 SameRow.Cell2.Value2 SameRow.Cell3.Value3 Searchresult.2nd SameRow.Cell1.Value1 SameRow.Cell2.Value2 SameRow.Cell3.Value3 Searchresult.3rd SameRow.Cell1.Value1 SameRow.Cell2.Value2 SameRow.Cell3.Value3 Etc. 我使用的代码如下所示: Sub fillArray() Dim i As Integer Dim aCell, bCell As Range Dim arr As Variant i = 0 Set aCell = Sheets("Log").UsedRange.Find(What:=("string"), _ LookIn:=xlValues, _ LookAt:=xlWhole, _ SearchOrder:=xlByRows, _ SearchDirection:=xlNext, _ MatchCase:=False, _ SearchFormat:=False) If […]