我是航空公司的,公司系统复制提取的数据如下
YA BA M4 HS KQ UA LQ QQ EQ VQ ZQ TQ R5 NA GQ
如上数据,每一行代表某一个航班某天的舱位开放情况。上面数据中后面一个字母是A表示舱位开放,字母S表示舱位设置票数卖完,L表示航班售罄,Q表示舱位关闭。某个舱位剩余票数不足9张,则会显示出具体剩票张数——如R5,NA表示N舱剩票张数大于9。
航空公司舱位对应折扣:Y-100%,B-90%,M-80%,H-75%,K-70%,L-60%,E-50%,V-45%,Z-40%,T-30%,
然后当中的U舱,Q舱和R,N,G这些舱位是产品舱,折扣不固定。
我需要将产品舱剔除,保留固定折扣舱位当中已开放舱位当中的最低舱位,提取出来,用相应的折扣表示它。
即:我需要的最终结果是 M舱为当天开放的最低舱位,8折,故最后要显示8或者80或者80%这样的结果。
希望EXCEL大神能忙我解决这个问题,不胜感激啊!
因为数据中间有空格,我已经做分列处理。
1、首先利用Excel 2010打开需要数据表格
2、这个表格有两个子表格,点击“统计”
3、然后在第1组后面输入公式“=sum"选择函数“SUMPRODUCT”
4、然后在SUMPRODUCT后面输入英文状态下的“()*()”
5、接着把光标移到第一个括号里并点击“得分”
6、然后选择组号所在的那一列“A列”
7、再返回统计输入“=a2”,a2为1组在统计中所在的位置
8、再将光标移到第二个括号中,点击“得分”
9全选评分所在的列“B列”
10、再返回统计输入“<60”
11、接着按回车键输出第1组的不及格数
12、其他组的只需要选中第1组,然后下拉即可输出不及格分数,然后就成功利用公式有条件的筛选了需要的数据
在B2单元格输入以下公式,然后向下填充公式
=IFERROR(VLOOKUP(LEFT(A2),{"Y",1;"B",0.9;"M",0.8;"H",0.7;"K",0.6;"L",0.5;"E",0.4;"V",0.45;"Z",0.4;"T",0.3},2,),"")
在C2单元格输入以下公式,然后向下填充公式
=IFERROR(IF(RIGHT(A2)="A","剩票张数大于9",VLOOKUP(RIGHT(A2),{"A","舱位开放";"S","舱位设置票数卖完";"L","航班售罄";"Q","舱位关闭"},2,0)),--RIGHT(A2))
在D2、E2、F2单元格分别输入以下公式
=MIN(C:C)
=LEFT(INDEX(A:A,MATCH(D2,C:C,0)))
=INDEX(B:B,MATCH(D2,C:C,0))
详见附图附件
大哥好仔细,不过我需要的是这样的结果。数据不要竖着,横排,因为真实采集到的数据有几十行甚至更多,最后舱位开放结果用列显示。而且两个表要分开制,最好不要在同一张表里。如图:
原始数据:
期待结果:
希望大神指教!
白天没有空再来制表了,请将附件发474054817@qq.com,帮你整理一下。
你也可以参照给出的方法,自己练习一下,只有这样,才能提高更快!