Tag: excel formula

如何在这段代码中实现一个函数,而不是input一堆“或”语句?

Sub test() Dim DataRange As Range Dim LastRow As Integer Dim i As Integer Dim SplitVal() As String Dim OutputOffset As Long OutputOffset = 0 LastRow = Cells(Rows.Count, "J").End(xlUp).Row For i = 2 To LastRow If InStr(1, Cells(i, 10).Value, "Test1", vbTextCompare) <> 0 Or InStr(1, Cells(i, 10).Value, "Test2", vbTextCompare) <> 0 Or InStr(1, Cells(i, 10).Value, […]

Excel如果使用OR的公式,避免#N / A

目前面临一个问题,长话短说:我试图通过使用OR函数将2个公式合并成一个公式,但是如果两个条件之一不存在,它会给我一个#N / A返回。 有三种情况可能发生:“MTI”,“MTI Z”和“MTO”。 我想要的是,该公式search任何组合在“MTI”或“MTI Z”(也可能是两个),并且如果组合存在,则返回1.如果不是(所以只有MTO存在)然后返回一个0(在这种情况下,它将是一个#N / A,但我可以解决与ISNA或IFERROR)。 公式1是: =IF(CONCATENATE(A2,B2,"MTI")=INDEX(L:L,MATCH(CONCATENATE(A2,B2,"MTI"),L:L,0),0),1,0) 公式2是 =IF(CONCATENATE(A2,B2,"MTI Z")=INDEX(L:L,MATCH(CONCATENATE(A2,B2,"MTI Z"),L:L,0),0),1,0) 两个公式都起作用,当分别有一个“MTI”或“MTI Z”时,返回“1” 然而,当我试图合并它们时,如果列表中不存在2个中的1个,那么即使我使用OR(它将声明是否存在2个中的至less1个,前进)。 =IF(OR(CONCATENATE(A2,B2,"MTI Z")=INDEX(L:L,MATCH(CONCATENATE(A2,B2,"MTI Z"),L:L,0),0) ,CONCATENATE(A2,B2,"MTI")=INDEX(L:L,MATCH(CONCATENATE(A2,B2,"MTI"),L:L,0),0)),1,0) 我怎样才能调整我的公式,使其工作?

有没有办法用dynamic数据编程方式使用Excel定义表格区域?

我有一张包含表(由碧玉报告查询产生)的工作表。 这个表格将是我的数据透视表的来源。 透视是使用外部连接(来自Microsoft Query)创build的。 既然源表需要定义之前才能用在Micrososft Query中,任何人都可以告诉我如何以编程的方式做到这一点? 信息: 这里有两个文件,第一个是受保护的源数据,第二个是Pivot文件。 数据是dynamic的,表中包含标题。 有没有办法用dynamic数据编程方式使用Excel定义表格区域?

营业时间到工作日

在哪里工作,我没有得到加class,但我累积假期工作的加class。 我有下面的电子表格,它计算我已经完成了多less加class,并在D15进行总计。 现在我想计算这是多less天,以每天8小时为基础。 在D16 ,我已经完成=D15/8并将其格式化为h.mm \d\a\y\s ,但这显示为2.26 days而不是2.4375 days 。 在D16使用正确的公式是什么?

IFfunction与ORfunction相结合可以实现多种条件

我一直在使用=IF(L2="","Active",IF(K2<=I2,"On Time",IF(K2>I2,"Late"))) ,但现在我需要检查多个F列的条件 我试过ORfunction =IF(OR(F2="Scheduled",F2="3 Hours 30 Minutes",IF(L2="","Active",IF(K2<=I2,"On Time",IF(K2>I2,"Late")))),"Other") 我的数据 如何检查是否只有服务= F2 =“计划”,F2 =“3小时30分钟”,或者如果L2是空的,否则检查是否延迟或准时?

如何通过在Excel中使用结构化引用来获取表列的索引?

我有一个3列的表。 我想写一个公式,给定一个结构化的参考,返回列的索引。 这将帮助我使用结构化的参考书写VLookup公式。 所以,例如,对于列A , B , C MyTable表,我希望能够写: =GetIndex(MyTable[C]) 并返回3。 现在我只是确保表格的范围从表格的第一列开始写入 =Column(MyTable[C]) 但我想要更强大的东西。

在Excel 2010的下拉列表中创build一个checkbox

需要在Excel 2010中的下拉列表中创build一个checkbox。已经尝试创build一个列表框,并select了multiselectExtended选项,但这不符合我们的目的。 所附function的示例

在最接近指定date的列表中查找以前的date

我想有VBA代码或公式将采取一个可变的date值,并find它的date列表范围。 如果它找不到我想要find最近的以前的date值的date。 VLOOKUP非常适合查找完全匹配,但我正在努力寻找最近的date。 我唯一的想法是创build一个循环,如果它不匹配,继续从variablesdate中减去一天,直到它可以在列表中find一个匹配。 这似乎不是最好的或最有效的方法,我希望有人可以推荐一个更简单的解决scheme。 例: Variable Date = 01/26/2014 Date List 02/04/2014 01/27/2014 01/24/2014 01/13/2014 12/29/2013 Desired Result = 01/24/2014 任何帮助,将不胜感激。

查找以特定顺序重复的行,并按重复次数显示结果

我能够使用Python解决这个问题,但是我需要在Excel本身中实现解决scheme,以便我可以使用graphics轻松地表示结果。 鉴于此表: bac cabacb ac acd bca dca 我想获得一个列表,按行中重复的次数(没有特定的顺序)sorting。 所以这将被视为重复的行:“abc”,“cba”,“acb” 但是这不会:“abc”,“bc”,“b”,“ab”,“ac” 所以,我正在寻找的输出将是这样的: 1st place: "b+a+c" found 4 times 2nd place: "a+c+d" found 2 twice 3rd place: "a+c" found once 即使输出“a + b + c”,“c + b + a”等等,输出也必须说“b + a + c”,因为“b + a + c”是第一个其他所有重复之一。 任何人都可以告诉我解决问题的正确方法吗?

八进制到hex数字在Excel中

我试图将一个12位数的八进制数转换为二进制 但看起来像Excel的内置函数OCT2Bin不会工作的数字大于517 所以我试图拆分数字并连接它们,但是它不起作用 我试过了 =OCT2BIN(MID(A2,1,2))&OCT2BIN(MID(A2,3,2))&OCT2BIN(MID(A2,5,2))&OCT2BIN(MID(A2,7,2))&OCT2BIN(MID(A2,9,2))&OCT2BIN(MID(A2,11,2)) 例如八进制数字的二进制 123456765432 是 1010011100101110111110101100011010 但我的公式正在返回 101011100101110111110101100110100 我知道这个公式不起作用,因为我不应该打破这些数字并连接它们。 但我不知道如何在Excel中处理它 有没有办法将12位八进制数转换为二进制?