我想将右侧给出的所有这些数据汇总到我的格式中。我尝试了很多次,尝试了很多公式,但是每次都留下了一些东西。请帮助
答案 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列进行硬编码,因为这些年实际上并不是基于数据的?