2013-07-25 32 views
0

我有一个Excel电子表格的问题,我想看看我是否可以不使用VBA而仅仅因为它看起来更容易实现。基本上,我想排序的工作表中有很多列。不过,我只想看看三栏:标题栏,数据栏和状态栏。在Excel中排序行吗?

在新的电子表格中,将有四个部分。每个部分对应一年的3个月(即1月,2月,3月将映射到新电子表格的第一列,4月,5月,6月将映射到新电子表格的第二列)。

根据日期,如果状态栏中包含单词“Finished”(在原始电子表格中),我想根据日期标准将标题映射到新电子表格中的某个列,如前一段。因此,举例来说,如果原来的电子表格有以下几点:

Title Date Status 

Doc1 1/12/13 Finished 
Doc2 2/10/13 UnFinished 
Doc3 4/1/13 Finished 
Doc4 3/31/13 Finished 

将映射到,在新的电子表格:

1st Column | 2nd Column 
Doc1   Doc3 
Doc4 

我已经看过了很多到数据透视表,但我不能“自动执行它“尽我所能。我已经把它变成了可以将数据透视表更改为基于日期的过滤的点,但是我希望它更自动化。我也尝试过Excel的公式,但这一直无济于事。感谢您的帮助,我非常感谢!

+1

此pivotTable能满足您的需求吗? 每个季度都有一个组(每年3个月)的透视表。当您展开该群组时,您可以在该季度看到文档的名称(Doc1和Doc4将在第一季度出现)。 – Jaycal

+0

@Jaycal引用“我的路线正是:)”我能看到的唯一问题(和我想问欧普有关的问题)正在洗牌结果,以便Doc1和Doc3例如出现在同一行上,而不是每个下一个空白。 – pnuts

+0

在这里。如果达到[Qtr1,Qtr2]; [Doc1,空白]; [空白,Doc3]; [Doc4,空白](2Cx4R矩阵)高度自动化,将洗牌删除空白'手动'可以接受? – pnuts

回答

0

随着数据透视表似乎很容易“自动”至于如下表2

SO17864374 example

但是从那里到请求的结果是相对“手动”没有VBA,所以可能不适合。

为了方便我更改了日期格式。数据透视表的结构与往常一样/显示,没有显示行或列的总计(数据透视表选项,合计&过滤器)。列标签为Date,分组编号为合适,起始位置为:和结束于:(组)并折叠整个字段(展开/折叠)。

I6的公式转换的文件数(始终为1)来记录名称:

= IF(F6 = 1,$ E6, “”)

然而,为了在数据透视表中留出额外的空间,公式应该移到右侧。公式需要根据需要进行复制。

通过复制这些公式的结果,将这些公式的结果粘贴到一个新位置(在示例2!A1中),并在必要时删除空白,从而变得更加'手动'。

+0

当然,这很好。我也可以删除我的一些评论。我只是不明白为什么我的日期不会分组。它会在将日期放入数据透视表的列标签区域后,右键单击弹出日期时显示“无法对该选择进行分组”。 – user1871869

+0

我认为在我的文档中他们是字符串。当我尝试编辑它们时,它仅显示为2013年3月30日,并在电子表格中显示也是3/30/2013。我应该尝试将它们改为数字吗? – user1871869

+0

好吧,将字符串中的日期更改为数字。当我完成这件事后,我会对此做出回应!谢谢你的帮助! – user1871869

0

这可能是违反规则与关于维护OP的请求的完整性,但希望它不会冒犯:)

这里的另一种选择。

  1. 添加另一列(可耻的是我,我知道)原始数据,并 称为本季度。现有数据 旁边的公式如下。

    =IF(C2="Finished",IF(MONTH(B2)<=3,"Q1",IF(MONTH(B2)<=6, 
        "Q2",IF(MONTH(B2)<=9,"Q3","Q4"))),C2) 
    

    基本上,如果状态是“完成”,那么确定日期在哪个季度。

  2. 创建与数据透视表,然后“季”和 “标题”添加到行标签(按顺序)

  3. 的最后一件事是点击旁边的箭头“行标签“并在”标签过滤器“下选择”不等于“。你会输入“未完成”(不带引号)。这会给你像下面的图像。

Another option using a formula and PivotTables

从这里,你需要做的唯一的事情手册是更新数据透视表中的数据范围内,如果更多的行添加到数据透视表数据并刷新数据透视表,如果原始数据更改

注意:要解决有关排序问题;在完成上述步骤后,您可以再次选择行标签并执行A> Z排序以按字母顺序对每个季度进行排序

+0

太棒了!感谢你!如果以前的答案不起作用,我会试试这个。 – user1871869