Excel ---尝试了很多次但是失败了

时间:2018-08-14 08:00:38

标签: excel

enter image description here

我想将右侧给出的所有这些数据汇总到我的格式中。我尝试了很多次,尝试了很多公式,但是每次都留下了一些东西。请帮助

1 个答案:

答案 0 :(得分:1)

通过混合使用公式和数据透视表,可以满足您的大部分需求。但是我无法完全获得您想要的一切,因为其中有些没有道理。例如,您的第一行标题为2013-2012-<5,但是有很多年份的年龄小于5,例如2014年-2013年-<5也将有效。我建议以某种方式对年份进行硬编码,因为它们并不完全相关?

将其分解为单独的问题。

如何获取班级的罗马数字版本?

您可能会有大量的IF声明,但是我选择了VLOOKUP。您本可以使用内置的ROMAN函数,但不能使用,因为您的编号是“第一”,“第二”等,而不是“ 1”,“ 2”等。

因此,我实际上选择了这两种解决方案,只是为了展示它们都是如何工作的。首先,我创建了一个名为“ Named”的命名表(列表对象),如下所示:

Class   Class Number
First   1
Second  2
Third   3
Fourth  4

然后我将其用于VLOOKUP您的班级名称并将其转换为数字。接下来,我使用ROMAN函数将其转换为罗马数字格式。因此,我结束了这一点(工作表中的E,F和G列):

Class   Class Number    Roman
First   1               I
First   1               I
First   1               I
First   1               I
First   1               I
Second  2               II
Third   3               III
Fourth  4               IV

使用公式:

  • 类别编号-=VLOOKUP(E2,Named,2,FALSE);
  • 罗马-=ROMAN(F2)

如何从“男” /“女”到“ B” /“ G”?

这很简单,仅=IF(A2="Male", "B", "G")的A列中有“性别”。

我如何获取“年龄文本”,使其能够处理“ <5”和“> 22”?

我的年龄在D列中,所以也很微不足道,=IF(D2<5,"<5", IF(D2>22, ">22", D2))

现在我有足够的数据来旋转,所以我选择了整个表,基本上这是您的示例数据,在计算表的右侧添加了示例。然后,我插入了一个数据透视表并拖入行/列标题以使其与您的格式匹配。这不会为您提供年份列,但会为您提供其他所有内容。例如,仅使用一些随机的示例数据行(因为我不厌其烦地全部输入):

我来自:

Gender  Date of Birth   Age Class
Male    06-Jan-14       4   First
Female  07-Sep-11       6   First
Male    01-Jan-12       6   First
Male    31-Dec-12       5   First
Female  01-Oct-11       6   First
Female  16-Nov-10       7   Second
Male    31-Oct-09       8   Third
Male    25-Oct-10       7   Fourth

收件人:

        I       II  III IV
        B   G   G   B   B
<5      1               
5       1               
6       1   2           
7               1       1
8                   1   
Total   3   2   1   1   1

您可以从这里简单地从所需的最终格式中对A和B列进行硬编码,因为这些年实际上并不是基于数据的?