Tag: 数组公式

对于一个范围内的每个单元格,如果在下一个单元格中find一个单独范围内的值,则执行该操作

这个macros我已经build立了工作,但我希望有一个更快的版本或公式,将在较短的时间内做相同的。 我拥有的: For Each cell In Range("Table_Query_1[[#Data],[Reason2]]") For Each PossibleValue In Range("F2", Range("F2").End(xlDown)) If Len(cell) = 0 Then If (InStr(UCase(cell.Offset(0, 1)), UCase(PossibleValue)) <> 0) Then cell.Value = PossibleValue.Value End If Else Exit For End If Next If Len(cell) = 0 Then cell.Value = cell.Offset(0, -1) End If Next 唯一的另一种方式,我可以得到任何东西与下面的数组公式的工作方式 =IF(ISNA(MATCH($F$3:$F$10,[@Extra Info],0)),[@Reason],$F$3:$F$10) 但对于部分匹配,这并不适用于第4行和第9行的情况。我也怀疑这个数组公式会比vbamacros要快得多,同时还需要更多维护testing值的范围(F2:F3)在这种情况下,我将不得不不断更新该公式,否则我必须使原来的范围,如F2:F100女巫会导致花费更长的时间。 所以,我想要的是,如果在我的值范围内的任何值(在这种情况下是F2:F3),在当前行的额外信息列内find,那么该行的原因2(Offset(0,-1 ))等于匹配的值。 但是,如果没有发现,那么只需使用该行中的原因(偏移(0,1))。 […]

条件标准差? STD.S与IF不工作; 在使用AVERAGEIFS以相同的条件后尝试应用数据

(我正在用西class牙语界面,所以请原谅西class牙语的代码(英文是PROMEDIO.SI.CONJUNTO是AVERAGEIFS,INDICE是INDEX,FILA是ROW,DESVEST.M是STD.S,SI是IF,Y是AND)。 我已经浏览了所有关于“stvifs”的线程(Excel将来真的应该考虑这个问题!),我仍然无法将所学到的知识应用到数据中,尽pipe看起来和我一样见过! 成功将以下内容应用于我的数据之后: =PROMEDIO.SI.CONJUNTO(E:E;A:A; INDICE(I:I; 2+(FILA(1:1)-1));D:D; 1;F:F; "BC") 我自动把我的专栏与“BC”和他们的手段,每个参与者。 (我总共有四个条件)。现在我想要SD相同的条件。 我尝试应用这个代码作为数组公式: {=DESVEST.M(SI(Y((A:A)=INDICE(I:I; 2+(FILA(1:1)-1));(D:D)=1;(F:F) ="BC");E:E))} 我得到一个#DIV / 0! 错误。 我debugging了这个公式,结果在STD.S中给了我FALSE,所以错误。 但是我不明白的是,为什么它不给我一个符合给定条件的列E中的所有值! 有趣的是,当我正确地应用这个公式时,它正确地给了我STD.S(E:E),所以我觉得这应该起作用! 我已经做了类似的其他数据,但没有多个条件。 请帮忙!

获得不同人数的团体平均数

我感觉这几乎是不可能的,但是在这里。 我有这样的数据结构: Test Group 1 pass fail pass fall Test Group 2 pass fail Test Group 3 pass fail fail pass 我希望能够将其粘贴到Excel中,并用Excel汇总每个testing组的百分比。 所以最终会看起来像这样: Test Group 1 Percentage Pass: 50% pass fail pass fall Test Group 2 Percentage Pass: 50% pass fail Test Group 3 Percentage Pass: 50% pass fail fail pass 但是你可以看到testing组的长度没有设置,可能会有所不同。 我希望能够创build一个遵循这个逻辑的公式: if( A<n> […]

如何在整个Excel工作簿中find最大值

我有许多工作表(今天约三十,每天都在增长)的Excel工作簿。 每个工作表都根据它所包含的数据的date进行命名(例如, 02-10,02-11等)。 在每个工作表的单元格A2是一个数字,我想编写一个公式,在每个工作表中查看单元格A2,并返回最大的一个。 我创build了一个当前工作表的列表,并将其命名为DayWorksheets ,并试图使用公式获取该值 {=MAX(INDEX(INDIRECT("'"&DayWorksheets&"'!A2"),0))} (括号表示数组公式)。 但每次的结果都是“10”,这是第一个工作表在单元格A2中指定范围内(不是最大的)的数字。 我在这里做错了什么? 我见过其他几个公式,比如 =VLOOKUP(C1,INDIRECT("Sheet"&MATCH(TRUE,COUNTIF(INDIRECT("Sheet"&ROW(INDIRECT("1:10"))&"!A2:A100"),B1)>0,0)&"!A2:B100"),2,0) , 但是我不太了解那里countif函数的用途。 任何帮助,将不胜感激。

Google表格:根据RANGE中的DATE使用ArrayFormula到COUNTIF

好,所以我有两个公式我想一起使用,一个我用来从前一天'SUM'项目总数: =ArrayFormula(SUM(1*(INT(Archive!M3:M)=Today()-1))) 这将统计前一天完成的所有项目。 现在我有几个不同types的项目,我使用下面的公式来分离项目types,并给出总计: =COUNTIF('V1 Archive'!D:D,"25A") 我想要做的是能够从前一天“总结”一个特定项目的总数。 更多的细节: 数据是纯文本项目代码ex; 25A,25B,25C等。date格式化为; 6/3/2014 16:41:36

公式返回#VALUE! 当作为数组input时

我已经把Excel电子表格放在一起,以跟踪雇员的时间使用数组公式。 该公式适用于input为“mm / dd – mm / dd”的date范围,但是我希望它也支持单个date“mm / dd”。 但是,我获得了#VALUE! 当范围中的单元格之一是这种格式,即使公式支持这两种格式时不input数组公式支持这两种格式。 例: 在单元格B2中的值“11/28”和在B31:B37中的假期表格中,以下公式将工作天数精确地计算为1。 =SUM(IF(ISBLANK(B2),0,(IF(ISERR(FIND("-",B2)),NETWORKDAYS(B2,B2,$B$31:$B$37),NETWORKDAYS(LEFT(B2,5),MID(B2,FIND("- ",B2)+2,5),$B$31:$B$37))))) 如果B2的值是“11/28 – 12/03”,则公式返回4。 我希望这个公式能够在每个员工的一系列单元格上工作,所以我将范围从“B2”扩展到“B2:B10”,并input如下数组公式: =SUM(IF(ISBLANK(B2:B10),0,(IF(ISERR(FIND("-",B2:B10)),NETWORKDAYS(B2:B10,B2:B10,$B$31:$B$37),NETWORKDAYS(LEFT(B2:B10,5),MID(B2:B10,FIND("- ",B2:B10)+2,5),$B$31:$B$37))))) 当范围中的每个单元格为空或具有“mm / dd – mm / dd”的date范围时,此公式均可正常工作。 但是,如果其中一个单元格具有单个date“mm / dd”,则会抛出一个#VALUE! 错误。 我错过了什么?

Excel,数组公式,范围外的N / A和ROW()

我在Excel 2013中的数组公式中遇到了ROW()问题。 例: 我做了一个名为范围,称为“input”,说4宽10高。 然后我做一个数组公式=ROW(input)一个单元格宽,15个单元高。 我得到10个数字 – 第一个是input的第一行,剩下的数字就是这个数字,然后是5#N / A。 这是应该的。 如果不是=ROW(input)我尝试以下之一: =IFERROR(ROW(input),"x") 要么 =IF(ISNA(ROW(input)),"x",ROW(input)) 要抓住#N / As,那么我期望看到的是十个数字,然后是五个数字。 相反,我仍然看到十个数字,然后是五个#N / A。 谁能告诉我如何解决这个问题? 我想得到十个数字,然后是五个数字。 而不重要,但只是为了好奇(或者如果出现在另一种情况下),为什么会发生这种情况呢? 我为什么要这样做? 这是我为这个问题简化了一个更大公式的一部分。 (编辑以提高简洁性和清晰度)

根据查找表SUMIF查找总数

我需要根据查询做一个总和,但查找是dynamic的。 更具体地说,我有一个像这样的总计表: Type | Total Charges | 633.86 Costs | Misc | 这需要根据查找表中的某些代码来总结数字: Type | Code Charges | N77RE Charges | N5762 Charges | M7YRE Costs | M888 Costs | O999 MISC | ABCS12 MISC | ABCs13 MISC | ABCS14 财务数据如下所示: Transaction | Code | Costs 123456 | N77RE | 19.99 123454 | O999 | […]

多列if语句 – Excel

我试图find一个公式来检查两个不同列中的条件,然后计算相应值的平均值。 以下示例反映了我想实现的目标。 比方说,我想find西北城市的平均水平。 我已经用这样一个数组函数确定了西方城市的平均水平: =AVERAGE(IF($C$3:$C$10={"LA","SF","POR","SEA"},$D$3:$D$10)) 然后按Ctrl + Shift + Enter 由于我的数据是如何组织的,这个以前的公式是唯一可以确定(有点手动)一个城市是位于东部还是西部海岸的方法。 现在我错过了会说“ 还有,如果上一列说'北' ”

公式化地sortingexcel数据

与我组织的组策略设置强迫用户明确单击以启用办公室文件中的macros,我想要一个解决方法,以使用vba实现相同的结果(而不必点击任何东西作为额外的奖金)。 数据透视表也是不可能的。 我有一个工作表的位置列标题(A1:E1)和事件作为行标题(A2:A50)。 剩余的单元格(B2:E50)填充date,表示每个位置的下一个事件何时将被保留。 不是所有的地点都服务于每个事件,所以“N / A”是可能的。 事件可能在同一天在同一地点举行。 事件数据: 我的目标是提供显示每个位置(列标题)下方当前和下个月即将发生的事件(作为行条目)的数据的二级视图。 这是(相对)足够简单的数组公式的上下复制。 公式: =IFERROR(INDEX(Master!$A$6:$A$15,SMALL(IF(Master!B$6:B$15<>"N/A",IF((Master!B$6:B$15<DATE(YEAR(TODAY()),MONTH(TODAY())+1,1))*(Master!B$6:B$15>=DATE(YEAR(TODAY()),MONTH(TODAY()),1)),ROW(Master!B$6:B$15)-5)),ROWS(A$3:A3))),"") 输出: 但是,这些事件按照它们在主表中列出的方式列出,而不是按照我的意愿按时间顺序排列。 我在每个事件旁边添加了一个date列,但这不是可sorting的,因为数组公式使所有内容保持dynamic。 所需的输出摘录: Tampa 19-Jan-15 Intermediate I 24-Jan-15 Introduction 26-Jan-15 Beginner I