Tag: filter

在Excel中可以过滤使用的公式吗?

有谁知道是否有可能在所使用的公式上设置一个筛选器,而不是在Excel中返回的值。 我正在使用Excel 2010。

最快的方法(自动)在Excel中过滤多个标准并删除不匹配的行?

我有以下代码,我正在使用的解决方法,而不是筛选数据,因为我有多个标准。 我在某处读过,一次只能过滤2个标准吗? 事情是,我有5 – AB, DZ, RE, Z3, ZP – 其他的东西都应该删除。 所以我使用下面的代码,它工作正常,但是每次运行macros时必须处理+30000行,这是非常缓慢的。 无论如何你可以做得更快? 我正在考虑一次过滤每个标准(创build下面第一个代码中的第5个)。 但是,如果有办法加快速度,我将不胜感激。 我使用的代码很慢: ' Step 13 – Filter and Delete All Except ' AB, DZ, RE, Z3, ZP in Column 6 – Type Sub FilterDeleteType() Dim rTable As Range, r As Range Dim rDelete As Range Set rDelete = Nothing Dim v […]

PowerPivotfilterfunction

在PowerPivot Excel 2016中,我编写了一个公式来总结使用filter函数的年初至今的销售情况,如下所示: SalesYTD:=CALCULATE ( [Net Sales], FILTER ( ALL ( Sales), 'sales'[Year] = MAX ( 'Sales'[Year] ) && 'Sales'[Date] <= MAX ( 'Sales'[Date] ) ) ) 这是完美的工作,现在在我的数据我有一个名为“频道”,我想在我的数据透视表中筛选它,但它不会工作! 有谁知道我应该如何解决这个公式?! 提前致谢…

VBA使用xlFillSeries自动填充可见单元格(过滤范围)

我想填充2..N整数系列过滤/可见范围。 这段代码填入了系列,但忽略了过滤的范围: COL_SID_CURRENT = 3 COL_SID_CURRENT_STR = "c" ROW_LAST = ActiveSheet.UsedRange.Rows.Count ' Start the series with value 2 in cell "c2" Cells(2, COL_SID_CURRENT).FormulaR1C1 = "2" aRangeStr = "" & COL_SID_CURRENT_STR & "2" ' -> "c2" Range(aRangeStr).Select aRangeStr = aRangeStr & ":" & COL_SID_CURRENT_STR & ROW_LAST ' -> "c2:c24" Selection.AutoFill Destination:=Range(aRangeStr),Type:=xlFillSeries 我试图将xlCellTypeVisible添加到代码中,但没有任何组合工作: Range(aRangeStr).SpecialCells(xlCellTypeVisible).Select Selection.AutoFill Destination:=Range(aRangeStr).SpecialCells(xlCellTypeVisible), _ […]

Excel VBA:不能添加到数组?

我遇到了一个问题,即时通讯相当新,但学习速度很快。 我一直在试图纠正下面的代码,通过一列查看,并挑出所有可能的值的行数据在此列中使用另一位代码中使用。 我不能让arrays工作,我可以做错了。 如果它不清楚,它应该检查列I中的单元格的值,如果它是一个值(如果它没有被存储(代码显示,但尚未使用)),那么值存储在数组中,数组中的位置和列向下的位置递增。 另一个问题,我还没有看,然后是如何安排在名称等数组中的值? 在这种情况下的值将是AHU1,AHU2,AHU3等高达约AHU5或6,我也打算实施一些代码,将扩大数组如果necassery(从小,所以它不是大于需要) 编辑:我havnt制定了另一个问题,但是为什么If语句总是导致值被添加到数组(它不) Do If IsNull(V1.Range("I" & i)) = False Then 'And V1.Range("I" & i).Value <> (Val(AHUArray(1)) Or Val(AHUArray(2)) Or Val(AHUArray(3)) Or Val(AHUArray(4)) Or Val(AHUArray(5)) Or Val(AHUArray(6)) Or Val(AHUArray(7)) Or Val(AHUArray(8)) Or Val(AHUArray(9)) Or Val(AHUArray(10))) Then 'And (does not equal any other values in the array AHUArray(ArrayDim) = V1.Range("I" & i).Text […]

筛选以确定要复制的单元格,现在复制上次find的条件

我有我的代码的输出麻烦。 我使用macros来search一些标签标签: Collection = Trim(Range("lblImportCollection").Value) System = Trim(Range("lblImportSystem").Value) Tag = Trim(Range("lblImportTag").Value) 我的filter确实在searchinput值的地方find正确的单元格值,但我想将匹配的值复制到新的工作表。 现在它只复制find的最后一个正确值。 有人可以帮我吗? 我想要的是: 如果所有三个标准匹配(我想在新的工作表中连续复制3个标准) 如果两个标准匹配(我想复制连续两个标准(而不是第三个) 如果一个标准匹配(我想复制1条标准连续(所以不是第二和第三) 另外:所有产生的匹配都必须填写一个新的行。 我希望我提供了足够的信息,这有点难以解释。 如果你有问题,请告诉我:) Sub FilterButton() Dim XUsedRange As Range Dim SourceRange As Range, DestRange As Range Dim SrcSheet As Worksheet Dim DestSheet As Worksheet, Lr As Long Dim firstAddress As String Dim c As Range Dim iLastRow […]

在Excel中复制并粘贴回过滤列表

我有一个13k行和8列巨大的Excel表。 我一直在寻找一种方法将其粘贴回筛选列表上的可见行。 我甚至从mr.excelvideo先生得到了一个代码。 excel播客 Sub PasteBack() ' Assumes the Filtered Sheet1 is active Set DataToCopy = Sheet2.Range("A1").CurrentRegion n = 2 ' index for range to copy from Sheet2 one row at a time, skipping headers For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row ' row 1 is header If Not Rows(i).Hidden Then DataToCopy.Offset(n – 1).Resize(1).Copy Cells(i, […]

SPSS:按特定顺序出现过滤数据集

背景:我有一个包含主要机构/公司的财务信息的大型数据集(> 100000条目)。 有几个栏目包含会计年度(第1列),公司名称(第5列),董事姓名(第6列),年收入(第11列)等信息。理想情况下,每个公司应包括其财务信息从1996年到2006年这个数据集。 然而,许多公司缺less一年或多年的信息,因此应该排除在进一步的分析之外。 这是我的数据集的屏幕截图: BoardCharacteristics 正如你所看到的,这个快照中包含的许多公司没有提供1996 – 2006年财政年度的完整信息。 目标:第一步是过滤这个数据集,只有在整个时间范围内(即从1996年到2006年)才提供信息的公司才被纳入后续分析。 由于所提供的信息理想情况下应该至less等于每个公司11行(即1996 – 2006年),而且许多公司每个财政年度都包含一个以上董事姓名,我最初的想法是指定一个filter,只select行(从1996年开始到2006年结束),并按顺序对整个数据集执行此操作,同时省略不完整的序列(例如2001年至2006年的A公司缺失)或其间的任何内容。 然而,由于序列长度的不一致性和序列组成的可变性,select任何从1996开始到2006年结束的序列的简单/刚性滤波器是不够的。 我知道有几个并发症: 并不是每一个完整的序列都由11行组成,因为许多公司在每个财政年度中包含多个董事姓名(例如,2001财年的总监名字为3,这家公司的总行数超过13行) 公司之间的潜在序列重叠[例如,公司A提供了1996年至1999年; B公司(紧接A公司之后)2000年到2006年 – >这将导致从1996年到2006年,包括A公司和B公司(这是不可取的) 我已经尝试了几个函数,包括范围函数的filter: RANGE(exp,low,high) –> RANGE(year,1996,2006) 正如所料,这没有奏效。 我也尝试在Excel中过滤这个数据集,但无济于事。 虽然我怀疑是否有单一的function来解决这个问题,但我还没有得到任何有用的语法来解决这个问题。 因此,我非常感谢一些意见。 如果对我的问题陈述有任何不清楚的地方,请随时提出。

使用高级筛选器获取唯一值不起作用?

我有两张床单: 第2页: Column C Supplier Name A A B B C 表1(预期结果) Column G A B C 我试图在表1的G列中创build一个唯一的供应商名称列表,如上所示。 我正在使用这个代码: Sub LIST() Dim r1 As Range, r2 As Range Dim lastrow As Long lastrow = Sheets("Data").Cells(Rows.Count, "C").End(xlUp).row Set r1 = Sheets("Data").Range("C2:C" & lastrow) Set r2 = Sheets("Sheet1").Range("G16") r1.AdvancedFilter Action:=xlFilterCopy, CopyToRange:=r2, unique:=True End Sub 此代码无法正常工作。 它显示了第一个供应商名称A重复如下所示: 表1 […]

VBA筛选器表和复制子列的结果列到剪贴板

我正在尝试从源表中将行和列的子集自动复制到剪贴板以供其他应用程序使用。 我正在表头上创buildfilter,正确过滤行,但不知道如何然后select我想要的顺序列的子集。 源表是列A – L,我想按顺序将C,I,H和F列复制到剪贴板后应用filter。 下面包含一些代码(减去复制部分)。 Sub exportExample() Dim header As Range Dim srcCol As Range Set header = [A5:L5] header.AutoFilter header.AutoFilter 12, "Example", xlFilterValues 'Copy out columns C, I, H and F of the resulting table in that order End Sub 我可以弄清楚如何复制列,但不知道如何让他们在我想要的顺序。 任何帮助是极大的赞赏! 谢谢!