Tag: excel formula

将Excel按位function(BITAND或BITOR)应用于具有较大值的范围

既然这些是交换性和联想性的操作符,我没有理由将它们限制在两个参数之中。 我可以使用我写的非负Long值高达2 31的以下VBA函数,但是对于任何更大的值,它都会溢出。 Function RangeBitOr(rng As Range) As Long Dim i As Long Dim cell As Range i = 0 For Each cell In rng i = i Or CLng(cell.Value) Next cell RangeBitOr = i End Function Excel的内置函数BITAND和BITOR (在Excel 2013中引入)可以处理值一直到2 48 – 1,我希望这个能力适用于一个范围。 是否有一个简单的方法让这些位操作员在这个范围内工作? 我尝试了几个解决方法: 创build两个新列,并使用MOD将较大的值拆分为两个较小的值,然后对每个列使用RangeBitOr函数,然后将这些值重新组合。 为BITOR函数创build一个列,将正在运行的聚合与当前值合并,并将最后一个作为范围的总BITOR 。 理想情况下,我想有一个不需要帮助列或VBA的解决scheme,但我愿意接受任何有用的build议。

CountA返回0,WorksheetFunction.CountA返回1

在debugging窗口中,以下expression式全部返回一个。 Application.WorksheetFunction.CountA(Cells(4 + (i – 1) * rows_per_record, 28) & ":" & Cells(5 + (i – 1) * rows_per_record, 58)) Application.WorksheetFunction.CountA(ThisWorkbook.Sheets(n).Cells(4 + (i – 1) * rows_per_record, 28) & ":" & ThisWorkbook.Sheets(n).Cells(5 + (i – 1) * rows_per_record, 58)) 在这种情况下,范围是AB60:BF61,在debugging窗口中确认。 在工作表中,当脚本暂停时,我input一个单元格=CountA(AB60:BF61) ,结果为0,这应该是。 任何解释将不胜感激。 Windows 7,Excel 2010

将值添加到另一个单元格,直到达到总值

我需要一个Excel公式或VBA解决以下问题。 所以我需要你们帮我:) 我的问题是: 我有一张桌子,与给定的总要求和价值。 我需要的是产生新的价值,这些价值的总和应该给我最接近的总数“总请求” 所以新值的产生应该在达到> =总请求时停止。 给定表格: Total Request 35 Value New Value 1 2 3 14 21 12 请求表 Total Request 35 Value New Value 1 1 2 2 3 3 14 14 21 12 提前致谢 :)

在列中查找两个值并计算相邻单元格的差异

我有两列如下。 ABC 1 1/9/2016 12:57:48 PM Text A 2 1/9/2016 1:04:48 PM Text A 3 1/9/2016 1:05:04 PM Text A 4 1/9/2016 1:05:14 PM Text A 5 1/9/2016 1:05:15 PM Text B A5 – A1 6 1/9/2016 1:05:38 PM Text A 7 1/11/2016 9:57:12 AM Text A 8 1/15/2016 10:42:55 AM Text A 9 1/15/2016 […]

Excel中的数组常量

我有一个数组常量在单元格A1中定义为{1,2,3}。 这显示为“1”(数组中的第一个值)。 我想要公式SUM(A1)返回6.但是,SUM使用A1作为单细胞数组,而不是包含在A1内的数组常量 – 因此SUM(A1)返回1。 同样,我期望AVERAGE(A1)返回1而不是2。 所以简单地说,我如何获得SUM(A1)返回与SUM({1,2,3})相同的值? 我不想让数组常量是一个命名参考,因为我为每一行定义了一个不同的数组常量。 这感觉就像我卡在C ++ W / O方式解引用!

Excel索引匹配多行结果

我被困在一个Excel问题上,希望能有人帮助。 我通读了10-15个相似的话题,但是我没能得到任何东西。 这是我在哪里… 我有一个包含Year , Name , Total 1 , Total 2 (和其他20列)的大型数据集。 相同的名称基于每年总计出现在多行中。 在另一张纸上,我有另一个包含名称的数据集,并希望将数据从表1拉到列中,如下所示。 过去我只用了一年的时间做了以下公式的初始数据集: =INDEX(DATARANGE,MATCH([@Name],DATARANGE[Name],0),MATCH("Total 1",DATARANGE[#Headers],0)) 我遇到的问题是将多年的数据添加到我的第一个数据集的结果。 有没有办法根据name和year匹配行,然后返回相应列的结果?

在Excel中,COUNTIF()不能使用常量定义的string

这个问题是https://superuser.com/questions/601419/in-excel-how-do-i-check-if-a-cell-is-in-a-list-of-values-a-单元格范围 。 我试图做=COUNTIF(name,G6) ,当名称引用一些单元格时,它工作正常,但是当它引用我的常量string数组时,它会给出#VALUE! 我的常量string数组(使用名称pipe理器)是={"192.168.3.2","192.168.3.10"} …等,这可能是我的问题。 但具有讽刺意味的是,如果我将单元格内容设置为该数组并引用单元格,则工作正常。 谢谢

如何比较两个地图

我在工作簿中有几张地图,想知道是否有办法比较两个地图中相同位置的特定字符。 例如,我在表1中有这样一张地图: ABCDEFGHIJ 1: @ @ @ @ @ @ Z @ @ @ 2: @ @ Z @ @ @ @ @ @ @ 3: @ @ @ @ @ @ Z @ Z @ 4: @ @ @ @ Z @ @ @ @ @ 5: @ Z @ @ @ @ @ […]

按数据分组数据

假设我有下面的表格来处理: project name total units a 3 b 4 c 1 d 5 e 2 f 5 g 8 h 12 i 8 j 10 k 4 l 7 m 9 n 19 o 15 p 6 q 3 例如,我希望将项目名称分组,总数不超过20个。 所以如果我把项目a加到f,总共会给我20个。所以这组项目被分组并且由Excel给出一个唯一的标识符。 我想轻松确定具体项目进入哪个文件编号。 所以只要我input项目名称和总单位,它就可以返回一个数字给我说明项目应该进入哪个文件编号。 project name total units file number a 3 1 b 4 1 […]

Excel从括号中提取

如果单元格只包含一个“(文本)”,那么从括号中获取值的代码就可以正常工作。 不幸的是,在我的行中有很多“Sample(sample1)(sample2)”格式的句子,我需要最后一部分。 Function GetParen(strIn As String) As String Dim objRegex As Object Dim objRegMC As Object Set objRegex = CreateObject("vbscript.regexp") With objRegex .Pattern = "\((.+?)\)" If .Test(strIn) Then Set objRegMC = .Execute(strIn) GetParen = objRegMC(0).submatches(0) Else GetParen = "No match" End If End With Set objRegex = Nothing End Function 有人可以帮我修改代码吗? 因为如果单元格包含“文本(文本part1)(文本part2)”我得到的结果是“文本part1”,但我需要“文本part2”。 谢谢。