Tag: 数组

使用数组VBA查找并replace数据库中的值

我有一个肮脏的数据库,每个人的名字是用不同的方式写的,我不能将它们分组。 我想创build一个macros来查找和replace数据库中的名称使用两列列表。 我find了下面的代码,但是我很难理解它,所以不能适应它: Dim Sht As Worksheet Dim fndList As Integer Dim rplcList As Integer Dim tbl As ListObject Dim myArray As Variant Dim Rng As Range 'Create variable to point to your table Set tbl = Worksheets("How to").ListObjects("Table2") 'Create an Array out of the Table's Data Set TempArray = tbl.DataBodyRange myArray = Application.Transpose(TempArray) 'Designate […]

Excel – 在数组列表中查找date

如果E2中的date是某人作为年假的date,那么我需要在单元格E3中input文本'AL'。 单元格A3:B11列出了某人作为年假的开始date和结束date。 见下文。 我需要一种检查date是否在(包括)这两个date的数组之间的方法,对于单元格A3:B11中的每个date。 注意:单元格A5有一天有人拿了年假,只需要一个开始date。 编辑:我可以使用以下algorithm的第一行(A3:B3) =IF(SUMPRODUCT((ROW(INDIRECT(A3&":"&B3))=E3)*1)=1,"AL","") 我仍然坚持申请所有可能的行

索引/匹配IF语句

正如你所看到的,我在左边有一个数据库表。 而且我想添加IF语句,只允许我查找A公司前5名的[代码],[名称]和[金额]。 然后做B公司的前5名等等。 我已经设法查找所有公司的前5名,但似乎无法添加一个标准来针对特定的公司。 以下是我的公式: 公式列K [公司]:= INDEX(Database,MATCH(N3,sales,0),1) 公式列L [代码]:= INDEX(Database,MATCH(N3,sales,0),2) 公式列M [名称]:= INDEX(Database,MATCH(N3,sales,0),2) 公式第N列[金额]:=大LARGE(sales,ROW(1:20)) 预期的结果是显示每个公司中前5名的销售人员以及他们的[代码],[姓名]和[金额],随意build议对工作表进行编辑。

在VBA中更改数组

我想将值交换成multidimensional array,不是#N / A或不是0的每行。 所以input表是在一个电子表格中包含下面的数字,问题是我不能交换他们如何我想要的。 24 20 0 #N/A #N/A #N/A 21 20 0 #NA #N/A #N/A 25 24 20 0 #N/A #N/A 26 25 24 20 0 #N/A 28 26 25 24 20 0 你有什么build议如何处理? Sub FlipRows() Dim Rng As Range Dim WorkRng As Range Dim arr As Variant Dim i As Integer, j […]

Excel VBA – 数组公式忽略If语句

我真的很新arrays公式。 stream程应该是如果列表中没有input数据的数据或只有1个条目,它显示“添加重量”[共7个点)。 一旦在数组中的任何位置input了两个任意数据,就会检查数组中的FIRST值,并减去数组中的LAST值。 我得到的这个问题是单元格显示#value当数组是空的而不是显示“添加重量”。 一旦input数据,公式就可以正常工作,无论数据在arrays中的位置如何,都可以正确地减去最后一个条目。 这将查找数组中的最后一个条目。 LOOKUP(2,1/(1-ISBLANK(D13:D19)),D13:D19)) 这将查找数组中的第一个条目。 INDEX(D13:D19,(MATCH(FALSE,ISBLANK(D13:D19),0))) 是因为公式被标记为数组吗? =IF(COUNTIF(DailyProgress[Change],"")>6,"Add Weight",LOOKUP(2,1/(1-ISBLANK(D13:D19)),D13:D19))-INDEX(D13:D19,(MATCH(FALSE,ISBLANK(D13:D19),0))) 如果有更好的方法来写这个,我全是耳朵。 编辑: 在一个相邻的列中,它显示了从前一个单元格的变化,如下所示: =IF([@[Weight (lbs)]]="","",[@[Weight (lbs)]]-D17) 其中D17是当前行上方的单元格[将在第18行input]。 就像这样,如果相邻单元格上方的单元格为空,则将其显示为零,然后执行“0 – value = -value”,因此我们只需要将其与之前的LASTinput单元格进行比较直接在它上面的单元格。 我知道这将需要完全重写。 仍然使用D13:D19arrays。

Excel VBA – 从相邻单元格检查数组

我在D13:D19中有一个数组设置,用户input值。 我正在修改我的工作表中的公式不依赖于所有单元格input。 在与数组相邻的列中,它显示了从前一个单元格的变化,如下所示: =IF([@[Weight (lbs)]]="","",[@[Weight (lbs)]]-D17) 其中D17是当前行[第18行]之上的单元格。 我需要重做这个,以便它在相邻单元格中查找一个整数,如果存在一个整数,那么它将检查上面的数组作为最后一个值,并在公式中使用该值。 如果不存在整数,则单元保持空白。 例: Cell D15 = 155 Cell D16 = 155 Cell D17 = BLANK Cell D18 = 145 在E18中,公式将需要查看D18以查看是否有整数,如果是,则会查找数组中最后一个填充的单元格,在本例中为D16。 然后它将从D18 [D18-D16]中减去最后input的单元格。

vba application.index行中的Array()不起作用

我想在Excel VBA中使用Application.Index函数。 我目前有一个数组(4,11139),我试图拼接成两个单独的数组,其中包含前两行(2,11139),另一个包含第三/第四行(2,11139)。 各种各样的search提示这个代码是正确的方法,但是它不能正常工作:(我已经将代码压缩到相关的代码) Dim Adjusted_Data_Array() As Single Dim Final_Data_Array() As Variant Dim Sys1_Data_Array() As Variant Dim Sys2_Data_Array() As Variant 'Function that creates a 4,11139 variant array Final_Data_Array = Strip_Erroneous(Adjusted_Data_Array, 1) 'Splice first two rows Sys1_Data_Array = Application.Index(Final_Data_Array, Array(1, 2), 0) 'splice 3/4th rows Sys2_Data_Array = Application.Index(Final_Data_Array, Array(3, 4), 0) 所以我现在应该有两个数组,每个数组包含第一个数组的一半数据。 但是我得到的新数组是一个两行的一维数组。 像这样: 从上面讨论的3个arrays看手表的屏幕截图。 我已经尝试过列中的数组(1,2),这也不起作用。 […]

使用数组和xlFilterValues进行过滤

我已经写了一个定义数组的代码,然后使用该数组作为条件来过滤一个范围。 这是代码的摘录。 不知怎的,它过滤掉了一切,并不显示过滤的值。 Dim N As Long Sheets("Calculations").Select With Sheets("Calculations") N = .Cells(Rows.Count, "A").End(xlUp).Row ReDim ary(1 To N) For i = 1 To N ary(i) = .Cells(i, 1) Next i End With Sheets("Data").Select Range(Range("A1"), Range("A1").End(xlToRight)).Select Range(Selection, Selection.End(xlDown)).Select With Selection .AutoFilter Field:=36, Criteria1:=ary, Operator:=xlFilterValues End With

我需要在Excel中将数组数据分割成单元格

我有一个电子表格查询数据源,并返回一个约230行逗号分隔结果的数组。 数据如下所示: 我需要所有这些逗号分隔的值,现在在一个单元格(B列)拆分成单独的单元格。 每行通常有21个结果。 所以结果应该是这样的: 数据开始的行可能会有所不同,但通常在第80行左右开始。最上面的行用于显示下面数据的结果。 起点可以固定在120行(如果这使脚本更容易),这将为未来的开发留下充足的空间。 我试过修改我在这里find的几个不同的解决scheme,但都没有工作。 任何帮助是至高无上的赞赏!

SUM与IF条件的单元格包含string和数字

我有一张更大的桌子,里面有一列,我想重点介绍一下,包括指定和一个数字。 我想简单地总结符合标准的数字。 为了简化,我做了一个练习单(在图片上),把第二列分成两个一个string和一个数字。 由于我的文件相当大,需要很多列,这将是不方便的。 在左列中,很容易解决问题,使用简单的SUMIF函数可能会更容易,但是一个数组SUM(IF …函数,至less我认为这里只有可行的选项。 所以我用数组函数解决了第一个表格,但是让我困惑的是如何调整TRUE语句。 使用VALUE(MID(F:F; 4; 4))来简单replaceC:C将会格式化我的单元格以从string中获取数字,这种方式不行 – 在E12字段中返回零。 F12是最后一个单元格F10的string编号。 这个公式不起作用,甚至适应不同版本的工具。 我可以使用VB,但如果可能的话,我想避免它,因为部分将在手机上共享。 有任何想法吗? 非常感谢! 左表被拆分,正确的原始格式