Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
楼主: Ishtonz

[已解决]请教一下这种COUNTIF该怎样表现??

[复制链接]
发表于 2017-8-2 13:01 | 显示全部楼层
Ishtonz 发表于 2017-7-30 16:55
N3=INDEX($G$1:$L$1,IF(COUNTIF(G3:H3,M3)>0,MAX(IF(G3:H3=M3,COLUMN(G3:H3)-6)),MAX(IF(I3:L3=M3,COLUMN ...

因为INDEX的引用范围是G1:L1(不是A1:L1),column(G1)的结果为7,要用在G1:L1必须要减去烈数差。不减6的话就要把前面的G1:L1改为A1:L1。可能描述的不清楚,你自己慢慢理解吧

回复

使用道具 举报

 楼主| 发表于 2017-8-2 15:33 | 显示全部楼层
AmoKat 发表于 2017-7-30 20:22
M3 =MIN(IF(G3:L3>0,G3:L3))
下拉複製公式,組數公式CTRL+SHIFT+ENTER輸入公式

N3 =VLOOKUP(S3,IF({1,0},N(OFFSET(G3,,{0;1;4;5;2;3})),T(OFFSET(G$1,,{0;1;4;5;2;3}))),2,)
下拉複製公式
B21 =SUM(N(IF((MID($N3:$N14,1,3)=$A2:$F2)*(MID($N3:$N14,5,3)=RIGHT(T(OFFSET($A$1,,{0,0,2,2,4,4})),3)),$A3:$F14,)=B17))




你好,不太明白这两个公式的逻辑,请指点一下,谢谢!
回复

使用道具 举报

发表于 2017-8-2 16:12 | 显示全部楼层
N3 =VLOOKUP(S3,IF({1,0},N(OFFSET(G3,,{0;1;4;5;2;3})),T(OFFSET(G$1,,{0;1;4;5;2;3}))),2,)

因為資料有優先順序問題,利用 N(OFFSET(...))、或T(OFFSET(...)) 將資料重新排列
關於N在這個公式中的原理是很複雜的,如果還想深入了解,請看這兩個帖子。
http://club.excelhome.net/thread-652166-1-1.html
http://club.excelhome.net/thread-632374-1-1.html

IF({1,0}, 組數1,組數0),組合兩個一為組數為二維組數,目的讓VLOOKUP用來查詢。
回复

使用道具 举报

发表于 2017-8-2 16:45 | 显示全部楼层
Ishtonz 发表于 2017-8-2 15:33
N3 =VLOOKUP(S3,IF({1,0},N(OFFSET(G3,,{0;1;4;5;2;3})),T(OFFSET(G$1,,{0;1;4;5;2;3}))),2,)
下拉複製 ...

B21 =SUM(N(IF((MID($N3:$N14,1,3)=$A2:$F2)*(MID($N3:$N14,5,3)=RIGHT(T(OFFSET($A$1,,{0,0,2,2,4,4})),3)),$A3:$F14,)=B17))



IF((MID($N3:$N14,1,3)=$A2:$F2)*(MID($N3:$N14,5,3)=RIGHT(T(OFFSET($A$1,,{0,0,2,2,4,4})),3)),$A3:$F14,)
是取得 A3:F14內為最優價錢位置資料,產生之組數如下圖

=SUM(N(...=B17))
與B17相比對相同者之數量

20170802.jpg

B21如何表現(最優組合下的分佈情況).rar (21.73 KB, 下载次数: 1)
回复

使用道具 举报

 楼主| 发表于 2017-8-10 18:36 | 显示全部楼层
AmoKat 发表于 2017-8-2 16:45
B21 =SUM(N(IF((MID($N3:$N14,1,3)=$A2:$F2)*(MID($N3:$N14,5,3)=RIGHT(T(OFFSET($A$1,,{0,0,2,2,4,4})), ...

大神,

承接上次的问题,现在改了一下格式后发现无法实现你的逻辑了,请帮忙调整一下优先度。。。

谢谢!

工作簿3.zip

8.87 KB, 下载次数: 1

回复

使用道具 举报

发表于 2017-8-10 22:29 | 显示全部楼层
Ishtonz 发表于 2017-8-10 18:36
大神,

承接上次的问题,现在改了一下格式后发现无法实现你的逻辑了,请帮忙调整一下优先度。。。

L1 =VLOOKUP(K1,IF({1,0},N(OFFSET($A$1,,{0;1;4})),T(OFFSET($B$1,,{0;1;4}))),2,)
回复

使用道具 举报

 楼主| 发表于 2017-8-10 23:24 | 显示全部楼层
AmoKat 发表于 2017-8-10 22:29
L1 =VLOOKUP(K1,IF({1,0},N(OFFSET($A$1,,{0;1;4})),T(OFFSET($B$1,,{0;1;4}))),2,)

不好意思漏了一个逻辑,其实K1=MIN(A1,C1,E1),如果使用以上公式来VLOOKUP就报错了。
此表格的意义是取A1,C1,E1的最小值,按照顺序1-2-3来返回相应的人名。

如附件

工作簿3.zip

8.9 KB, 下载次数: 1

回复

使用道具 举报

发表于 2017-8-11 16:23 | 显示全部楼层
Ishtonz 发表于 2017-8-10 23:24
不好意思漏了一个逻辑,其实K1=MIN(A1,C1,E1),如果使用以上公式来VLOOKUP就报错了。
此表格的意义是取A ...

=VLOOKUP(K1,IF({1,0},N(OFFSET($A$1,,{0;4;2})),T(OFFSET($B$1,,{0;4;2}))),2,)

上次位置順序錯誤,請修正
{0,1,4} 改為 {0,4,2}
回复

使用道具 举报

 楼主| 发表于 2017-8-11 17:49 | 显示全部楼层
AmoKat 发表于 2017-8-11 16:23
=VLOOKUP(K1,IF({1,0},N(OFFSET($A$1,,{0;4;2})),T(OFFSET($B$1,,{0;4;2}))),2,)

上次位置順序錯誤, ...

又一次完美解决了,但是我还是没有理解到逻辑。
给你100个赞。
回复

使用道具 举报

发表于 2017-8-14 17:15 | 显示全部楼层
怎么感觉看不懂呢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-4 23:19 , Processed in 0.285332 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表