在Excel中只使用SUBTOTAL求和可见性单元格

我打算使用Excel工作表获取当前股票的余额。 在这个工作簿中,每天都会input余额。 但是实际上只显示最近一天的余额,其他的都是隐藏的。 数据以列input,因此只显示一列数据。 在这个例子中,我想总结从第21行到第24行的值。我从第一个logging的余额input公式,并提前一些列(所以范围不需要经常改变)。 为此我使用: =SUBTOTAL(109,C21:O24) 最后一列的值总和为20.然而,使用这个公式总和为260.它实际上将第21行到第24行的所有值相加! 我提供的网站https://support.office.com/en-us/article/SUBTOTAL-function-7b027003-f060-4ade-9040-e478765b9939它说,值“109”应作为第一个参数在为了只求和非隐藏的值。 但显然,这是行不通的。 我也尝试使用“9”作为第一个参数以及相同的结果。 我错过了什么? 为什么这个公式不按预期执行? MCVE(我认为,如果这是复制到单元格A20,值应该变成260.当隐藏所有列,但A,B和O应使用SUBTOTAL 20,但对我来说,它仍然产生260)。 Stock Prod1 5 5 5 5 5 5 5 5 5 5 5 5 5 Prod2 5 5 5 5 5 5 5 5 5 5 5 5 5 Prod3 5 5 5 5 5 5 5 5 5 5 […]

删除Excel中最后指定的特殊字符之前的文本

我有一个面包屑path中的类别列表,我需要提取最新的类别。 下面是列表的一个例子,我需要得到最后一个/之后的类别,或者如果没有/,那么这个类别。 所以下面会变成下面的。 之前 Sewing Crafting/Paper & Paper Crafts Scrapbooking & Stamping Crafting/Craft Supplies Painting, Drawing & Art Supplies/Painting/Brushes Beading & Jewelry Making/Charms Beading & Jewelry Making/Beading Supplies 后 Sewing Paper & Paper Crafts Scrapbooking & Stamping Craft Supplies Brushes Charms Beading Supplies 任何人都可以指出我可以做到这一点的Excel配方吗?

如何从单元格中提取基于字体颜色的文本,并使用多种颜色的文本,并使用分隔符分隔多个单词?

如何基于多种颜色文本的单元格中的字体颜色提取文本 我有一列数据(A)。 列(A)中每个单元格中的数据是半个颜色和另一个颜色。 如果他们在不同的地方,我必须提取由分隔符分隔的每个单词。 我尝试了上述链接的解决scheme,但无法进行更改以适应我的目的,因为我是vba的初学者。 请build议方法来解决这个问题。 (A)原件……….(B)红色 abcdefgh ………. abc,gh

使用COUNTIF / SUMPRODUCT

我有一个工作表,我正在试图通过提供更新提供用户更自动化,但是我有一个公式工作的困难。 我正在使用一个半大的表(超过32列的信息,1,500行),但真的只想在这个问题上专注于2列。 在列CI中有服务订单被请求的date,并且在列DI中具有在发送请求确认时填充的信息(如果没有请求被发送,则它是空的)。 我希望能够创build一个消息框,在工作簿打开时显示警报,并显示当天2周内尚未收到确认的订单请求数。 到目前为止,看起来像我最好的select是让隐藏的单元在其他地方使用公式进行繁重的工作,然后使用Workbook_Open事件在消息框中显示值。 我已经能够得到一个公式来显示适合我的时间窗口的请求数量: =SUMPRODUCT((Table5[Date]>=TODAY())*(Table5[Date]<=TODAY()=14)) 这似乎是捕捉我需要的数字,但是我很难整合我需要的第二个组件:是否发送了回复。 到目前为止,我试图在公式中包含某种forms的AND限定符,已经返回了一个错误…我希望能够在公式内量化(逻辑上): =IF(Table5[Reply]="" AND Table5[Date]>=TODAY()+14, SUMPRODUCT) 我知道上述不会工作,但我想知道如果任何人有任何指示如何修改,以便它可以包括这两个因素? 非常感谢!

发现date的差异。 但是,如果一个date字段是空的使用Excel的第三个选项

我正在处理Excel中的电子表格,其中包含开始date,结束date和询问date字段。 我需要find从开始date到结束date所花费的时间。 但是有时候结束数据是空的,所以我们想使用第三个字段“询问数据字段” 我知道唯一的解决scheme,因为我很生疏与Excel正在使用 DATEDIF(start_field, end_field, d) 然而,这只是拉两个领域,并没有考虑到第三个选项,如果end_field是空的)。 有任何想法吗? 希望这可以帮助其他人在未来以及如果find解决scheme!

是否有统一的ExcelExtractor类和xls和xlsx文件的工厂?

是否有一个共同的类和ExcelExtractor接口的实现,统一处理来自xls和xlsx源文本的提取? 也许,在ss包的东西。 我正在寻找一些能够让我做类似的事情,但是通过从工厂获得正确的实现,基于文件types。 现在,我不得不明确地使用xls文件的org.apache.poi.xssf.extractor.XSSFExcelExtractor和xlsx的org.apache.poi.xssf.extractor.XSSFExcelExtractor 。 例如,对于xls的显式方法: InputStream inp = new FileInputStream(path); HSSFWorkbook wb = new HSSFWorkbook(new POIFSFileSystem(inp)); ExcelExtractor extractor = new ExcelExtractor(wb); extractor.setFormulasNotResults(true); extractor.setIncludeSheetNames(false); String text = extractor.getText(); 我可以实现我自己的工厂,但在此之前,我想问问是否有一种处理两种格式的通用方法(这是ss包的用途)。

Excel中即将到来的date

我有两个工作表的工作簿,一个是主列表,另一个是总结。 在主列表中,O,Q和S列包含票号。 列P,R和T包含票证date。 我怎么能使用一个公式或函数,让我做以下几点: 在“摘要”选项卡上,确定date属于当前周内的故障单号码和date?

将VBA复制到Word的Excel范围如图所示

大家好我对VBA很新,我正在努力创build一个macros。 我想复制作为数字的粘贴到Word文件倍数范围从Excel。 这是我想到的代码: Sub imagem1() Dim objWord, objDoc As Object ActiveWindow.View = xlNormalView Worksheets(2).Range("A1:O47").Select Selection.CopyPicture Appearance:=xlScreen, Format:=xlPicture Set objWord = CreateObject("Word.Application") Set objDoc = objWord.Documents.Add objWord.Visible = True objWord.Selection.Paste objWord.Selection.TypeParagraph ActiveWindow.View = xlPageBreakPreview End Sub Sub imagem2() Dim objWord, objDoc As Object ActiveWindow.View = xlNormalView Worksheets(2).Range("U1:AI47").Select Selection.CopyPicture Appearance:=xlScreen, Format:=xlPicture Set objWord = CreateObject("Word.Application") Set objDoc […]

请参阅引用应用程序的variables

我正在尝试将单元格的值放在左列(列A)中的Msgbox中。 这个值需要被挑选出来,这取决于B列中的哪个值是最低的,并且应该被重用,并且行长度是变化的(有时候是200行,有时候是230行等) 到目前为止,我写道: Sub Flow() 'Check lowest value Dim lowestValue As String lowestValue = Application.WorksheetFunction.Min(Sheets("ImportData").Range("B3:B290")) MsgBox "Lowest Flow" & vbNewLine & _ (lowestValue) & vbNewLine & _ "at " & (lowestValue.Offset(0, -1)) End Sub 很明显, lowestValue.Offset(0, -1))不起作用,但基本上这就是我想要实现的:find最低值,然后在左边看一列,并在单元格中显示该值。

代码重复一个macros

我需要在具有390行的源电子表格中为给定范围重复一个名为“DTest”的macros。 “DTest”macros创build一个新的Excel文件并转置粘贴范围并将文件名保存在给定path的单元格“B2”中的值。 Sub RepeatDTest() Range("1:1,2:2").Select Selection.Copy DTest Range("1:1,3:3").Select Selection.Copy DTest Range("1:1,4:4").Select Selection.Copy DTest End Sub 我的范围包括行1作为标题,行2到390作为新电子表格的行2中的内容。 如何编写范围(“1:1,2:2”),范围(“1:1,3:3”)…….范围(“1:1,390:390”)的代码?