如下顾客消费样表:
能不能随意查询每个顾客的消费记录,而且随着消费记录的增多,查询结果也可自动更新?
结果如下:
公式实现
在G4单元格输入...
问题情境
如下顾客消费样表:
能不能随意查询每个顾客的消费记录,而且随着消费记录的增多,查询结果也可自动更新?
结果如下:
公式实现
在G4单元格输入公式:
=INDEX(B:B,SMALL(IF($B:$B=$G$1,ROW(B:B),ROWS(B:B)),ROW(A1)))&””
三建结束,即得G1单元格指定消费者第一次消费记录中的姓名,公式向下向右填充,可得该消费者的所有消费记录。
给消费记录添加序号:
=IF(OR($G$1=””,G4=””),””,COUNTIF($G$4:G4,$G$1))&””
一个excel工作簿多个工作表中很多公式结果一次转为数值
今天一位朋友提出的问题: 他有一个月报表工作簿,里面多个工作表的数据都是用公式从一个数据源引用过来的,他必须在数据源更新之前,把所有的公式结果都保存成数据,才能保证源数据改变不影响到此个月报表工作簿。 问:有没有一次把工作簿多个工作表中很多公式结果一次转为数值的简单方法? 实现方法单列或单行公式结果转数值 单列
确定,即得序号1,公式向下填充,可得所有消费记录的序号。
公式解析
1、=INDEX(B:B,SMALL(IF($B:$B=$G$1,ROW(B:B),ROWS(B:B)),ROW(A1)))&””:
IF($B:$B=$G$1,ROW(B:B),ROWS(B:B)
如果B列姓名与G1相等,返回对应行,如果不等,返回B列总行数,得一个数组。
SMALL(IF($B:$B=$G$1,ROW(B:B),ROWS(B:B)),ROW(A1)
在刚才的数值中,取最小的值,即得一个“李四”顾客的行。
INDEX(B:B,SMALL(IF($B:$B=$G$1,ROW(B:B),ROWS(B:B)),ROW(A1)))
查询第一条消费记录中的姓名。
公式向下向右填充,即得李四的所有记录。
2、=IF(OR($G$1=””,G4=””),””,COUNTIF($G$4:G4,$G$1))&””
如果查询姓名和查询记录姓名中有一个为空,也不填充序号。
Excel规范数据录入—设置只能输入数值
在Excel数据表中,像单价、成绩、销量等数据列,要求输入数据类型为“数值”,如果输入其他类型数据,会影响后期的统计。但很多时候,你是制表和统计者,填表者却不会按照你的构思去填数据。比如,单价列可能会输入“1314元”、销量列会输入“520个”,那你以后的数据分析可麻烦了。 为了消除这种可能的麻烦,你还是首先设置好单