Tag: 数组

Excel数组公式如果返回匹配条件的值的语句

我有一个Excel格式的数组公式: =IF(ABS(range-0.25)<0.1,1,0) 基本上看起来整个行被定义为0.25 range的值的范围。 如果发现符合这个条件的东西,就打印数字1。 我想要做的是打印索引的rangefind符合此条件的值。 所以,例如,如果range的第11个值是.2505(符合我的条件),我希望输出为11.有没有办法做到这一点?

从由范围加载的数组中删除空白条目

我试图删除一个数组,从一个名为TY [L3名称](1列,X行长)从Excel中的数据表加载的空白条目。 下面的代码旨在从数组中删除所有空值(一旦它已经被加载范围),并返回一个新的数组,其中只有数据的行。 我想将这个数组传递给一个集合,以删除重复,但我想弄清楚为什么我不能先乘坐空白(现在我在一个点,我只是想了解如何做到这一点不pipe我是否通过这个别的东西或不)。 ReDim Preserve行代码错误。 我首先将NewArr的大小设置为MyArr表,但最后返回空行。 然后我试图调整它,所以我只有行中的数据,但我似乎无法得到的NewArr()数组做这个没有错误。 我正在使用立即窗口来validation没有空白条目(目前在TY [L3名称]范围的末尾有8行)。 Sub BuildArray() ' Load array Dim MyArr() Dim j As Long ' Size array MyArr() = Range("TY[L3 Number]") ReDim NewArr(LBound(MyArr) To UBound(MyArr), 1) ' For Loop to search for Blanks and remove from Array ' The Lbound and UBound parameters will be defined by the […]

从另一个列表创buildExcel列表

好的,这是我的问题,我有一张看起来像这样的表 在左边,我有一个名单列表,在右边,我有一个新的人名列表,其中有一个在24之前的开始号码和24号结束号码。我试过使用: =IF(IF(AND(Monday!AS3<24,Monday!AT3>=24),"True","False")="True",Monday!B3,"Error") AS3是Start , AT3是End , B3是Name 。 这个作品除了我有100个名字,我不想把这个公式放在100个单元格中去testing每个人。 任何帮助,使这需要更less的空间,这将是伟大的。 公式经过终点列表后不会超过15到20个名字。 所以我希望不要再用20个单元来创build列表。 不是100。

计算列表中特定单词的数量

我有一些很大的计算要做,因为我有一个Excel文件,列中有一列表示我们系统中每个事件的唯一ID。 我想知道所有事件已经完成的干预总数。 例如,假设我有这个: ID|People working on that incident ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ 0|AA0000 BB1111 CC2222 ZZ1234 1|BB1111 2|CC2222 ZZ1234 CC2222 ZZ1234 3|BB1111 CC2222 AA0000 BB1111 我有一个名为List的列表 ,其中有一个区域,其中包含我实际要包含的人员ID列表。 例如,假设List = {"AA0000","CC2222"}的第一个区域List = {"AA0000","CC2222"} 。 现在,我想知道我们的员工( 列表中 )已经对我所有的事件做了多less干预(我们在上面的数组中有4个)。 事件ID 0为6:2,ID 1为0,ID 2为2,ID 3为2。 假设数据是在一个不同的(封闭的)工作簿中,我怎样才能计算出使用我的列表List和上面的范围A1:B4(我想最终使用整个列,所以让我们说A:B)? 编辑: 我已经有了一些工作,计算整个专栏中特定单词的次数。 SUM( LEN('[myFile.xlsx]Sheet1'!$A:$A) -LEN( SUBSTITUTE('[myFile.xlsx]Sheet1'!$A:$A;$Z$1;"") ) ) /LEN($Z$1) Z1是我正在寻找的词(例如:CC2222)和'[myFile.xlsx]Sheet1'!$A:$A是我正在search的列。 是不是有一个非常简单的方法来使这个数组而不是Z1的工作? 长度总是相同的(六加一个空格)。 资料来源: http : //office.microsoft.com/en-ca/excel-help/count-the-number-of-words-in-a-cell-or-range-HA001034625.aspx

优化SUMIFS公式

我基本上有一个超长的公式,我需要缩小。 所以基本上我有一个数据透视表,允许一个经理select两个工作地点或两个工作地点和一到十二个月。 这是公式的外观。 唯一的变化是细胞I和J->K 我需要将其设置为数组吗? = SUMIFS('owssvr(1)'!C:C,'owssvr(1)'!$ IR:$ IR,$ I $ 3,'owssvr(1)'!$ IQ:$ IQ,'Summary KPI'!$ (1)'$ IQ:$ IQ,'总结KPI(1)'SUMIFS('owssvr(1)'!C:C,'owssvr(1)'!$ IR:$ IR,$ I $ 4,'owssvr '!$Ĵ$ 2)+ SUMIFS(' owssvr(1) 'C:C,' owssvr(1) '$ IR:!$ IR,$ 5 I $,' owssvr(1)'$ IQ:$!IQ, '$摘要KPI'$ J $ 2)+ SUMIFS('owssvr(1)'!C:C,'owssvr(1)'!$ IR:$ IR,$ I $ 6,'owssvr(1)'!$ IQ: $ IQ,'Summary KPI'!$ J $ 2)+ SUMIFS('owssvr(1)'!C:C,'owssvr(1)'!$ […]

Excel VBA数组

这使我疯狂。 我试图从用户select的行中提取符合我的条件(TRUE或1)的列的值,仅将这些值保存到数组,然后将数组写入一个范围。 就这样。 谁能告诉我我做错了什么? Sub DevNeeds() Dim x(), y(), needs() As Variant Dim counter As Integer columns_in_range = Range("dev_needs_hdrs").Columns.Count counter = 1 Debug.Print "i", "counter", "y(counter)" For i = 1 To columns_in_range ReDim x(columns_in_range), needs(columns_in_range) x(i) = Application.Index(Range("dev_needs"), Range("selected_row").Value, i) needs(i) = Application.Index(Range("dev_needs_hdrs"), 1, i) If (x(i) = True Or x(i) = 1) Then ReDim […]

dynamic行范围的平均值

我有一个由零和数字组成的表格: ABCDEFGHIJKLMN 0 0 0 4 3 1 0 1 0 2 0 0 0 0 0 1 0 1 4 0 0 0 0 0 1 0 0 0 9 5 7 9 10 7 2 3 6 4 4 0 1 0 我想计算包括零的数字的平均值,但是从第一个非零值开始,并在表格结束后放入列中。 例如,第一行的第一个值是4,所以平均值 – 11/11; 第二 – 7/13; 最后一个是67/14。 我怎样才能使用Excel公式做到这一点? 大概OFFSET嵌套IF ?

Excel VBA:从多个范围variables创build二维数组(不重复)

我有六个variables范围:A_backup,B_backup,C_backup,D_backup,E_backup,F_backup 每个范围variables是一个行数可变的列(有些有3个,其他有5个,等等) 我想从这些范围中取出每个单元格,并将它们添加到名为Combined_backups的新单列数组中。 我也想避免添加一个单元格,如果它是一个重复的string值以前添加的单元格。 这是我试过的。 遇到Combined_backups.RemoveDuplicates问题。 我应该为组合数组创build一个新的范围,应用RemoveDuplicates,然后创build一个新的最终数组? 另外,什么是testing我的Combined_backups数组实际上已成为我所希望的数组最好的方法? Dim Combined_backups() As Variant 'add A_backup Dim j As Integer j = A_backup.Rows.Count ReDim Preserve Combined_backups(j) For i = 0 To j – 1 Combined_backups(i) = A_backup.Item(i + 1) Next i 'add B_backup Dim k As Integer k = B_backup.Rows.Count ReDim Preserve Combined_backups(j + k) For i […]

VBA将类数组传递给函数

道歉,如果我犯了一些业余的错误,但我是VBA新手。 我试图填充一个在类中声明为一个属性的数组,但出了问题。 经过多次search,我有两个问题,我似乎无法find其他地方: 1 – 有一个更简单的方法来完成将数据保存到一个类似数组的结构,我可以传递给子函数? 类似数组的结构需要resize,因为我不知道在循环的每次迭代检查这些条件之前我将添加多less个组件。 2 – 如何正确地将我的类中的数组属性传递给另一个函数? 我很想知道如何才能明白我做错了什么,或者可能是我对VBA工作方式的误解。 代码结构如下: 我已经在CTask类中声明了Segments属性,如下所示: Private pSegments() As CSegment Public Property Get Segments() As CSegment() Segments = pSegments() End Property Public Property Get segment(index As Integer) As CSegment segment = pSegments(index) End Property Public Property Let Segments(Value() As CSegment) pSegments() = Value() End Property 我从一个Sub传递CTask ,在这里它被定义为使用这个代码populateTasks : […]

使用2个独立的列定义一个数组

我有一个很多列的数据表。 我想创build一个只有来自2列的数据的数组。 到目前为止,我刚刚定义了这样的数组。 finalrow = Sheet2.Range("A1").End(xlDown).row finalcolumn = Sheet2.Range("A1").End(xlToRight).column FTSE100 = Sheet2.Range("A1").Resize(finalrow, finalcolumn) 我真的想把它定义为表单的二维数组 FTSE100 = "column A to finalrow" & "column G to finalrow" 不幸的是,我的google-fu没有find如何使用2个不相邻的数据集来定义一个数组。 帮助或build议将不胜感激。