EXCEL:公式觉得太长,请高手帮忙下有没有短点的公式?谢谢!

如题所述

提供十条公式,任选一条即可,公式中的ROW(1:4)是对应要统计区域的行数,不算表头,问题中是G4:J7区域共四行,如果增加至10行的,只需把公式中的ROW(1:4)改为ROW(1:10)。

在D5输入以下公式中的任意一条,推荐用公式一,数组公式,输入完成后不要直接回车,要按三键  CTRL+SHIFT+回车  结束。

 

公式一:(推荐)
=IF(COUNTIF(G4:I7,D3),INDEX(J:J,MAX((G4:I7=D3)*ROW(1:4)+3)),"")

 

如果D3的值在表格中是唯一的,不会重复的,公式一可以改为普通公式,这样在数据量大时,运行速度相对来说会快点,输入完成后直接回车,无需再按那三键。

=IF(COUNTIF(G4:I7,D3),INDEX(J:J,SUMPRODUCT((G4:I7=D3)*ROW(1:4))+3),"")


公式二:
=IF(COUNTIF(G4:I7,D3),OFFSET(J1,MAX((G4:I7=D3)*ROW(1:4))+2,),"")

 

公式三:
=IF(COUNTIF(G4:I7,D3),INDIRECT("J"&MAX((G4:I7=D3)*ROW(1:4))+3),"")

 

公式四:
=IF(COUNTIF(G4:I7,D3),INDIRECT("R"&MAX((G4:I7=D3)*ROW(1:4))+3&"C10",),"")

 

公式五:
=IF(COUNTIF(G4:I7,D3),INDIRECT(ADDRESS(MAX((G4:I7=D3)*ROW(1:4))+3,10)),"")

 

公式六:

=IF(COUNTIF(G4:I7,D3),SUMIF(OFFSET(F4,,MAX((G4:I7=D3)*COLUMN(A:C)),4),D3,J4),"")


公式七:

=IF(COUNTIF(G4:I7,D3),SUM((OFFSET(F4,,MAX((G4:I7=D3)*COLUMN(A:C)),4)=D3)*J4:J7),"")


公式八:(此为普通公式,输入完成直接回车即可,无需按三键)

=IF(COUNTIF(G4:I7,D3),LOOKUP(1,0/(OFFSET(F4,,MAX((G4:I7=D3)*COLUMN(A:C)),4)=D3),J4:J7),"")


公式九:(此为普通公式,输入完成直接回车即可,无需按三键)

=IF(COUNTIF(G4:I7,D3),SUMPRODUCT((OFFSET(F4,,MAX((G4:I7=D3)*COLUMN(A:C)),4)=D3)*J4:J7),"")


公式十:

=IF(COUNTIF(G4:I7,D3),VLOOKUP(D3,IF({1,0},OFFSET(F4,,MAX((G4:I7=D3)*COLUMN(A:C)),4),J4:J7),2,),"")


以上所有公式都已增加了当D3为空或是D3的值不存在表格中时,公式返回空白值的处理。

我把文件传上来,请点击这回答右下角绿色的“点击下载”按钮,下载文件看看效果。

 

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-08-02
不明白,这个用VLOOKUP函数就可以解决,不知道是不是我理解不好,请指正。
=IF(COUNTIF($G$3:$G$7,$D3),VLOOKUP($D3,$G$3:$J$7,4,0),)
想要缩短公式长度,还有一个方法就是定义公式,可以有效减少公式长度
第2个回答  2013-08-02
D5中输入
=IF(OR(G3=D1,H3=D1,I3=D1),J3,"")追问

用不了?

第3个回答  2013-08-02
用vba最简单!!!

EXCEL:公式觉得太长,请高手帮忙下有没有短点的公式?谢谢!
公式四:=IF(COUNTIF(G4:I7,D3),INDIRECT("R"&MAX((G4:I7=D3)*ROW(1:4))+3&"C10",),"")公式五:=IF(COUNTIF(G4:I7,D3),INDIRECT(ADDRESS(MAX((G4:I7=D3)*ROW(1:4))+3,10)),"")公式六:=IF(COUNTIF(G4:I7,D3),SUMIF(OFFSET(F4,,MAX((G4:I7=D3)*COLUMN(A...

excel 公式太长,请高手帮忙修改 这是个sheet1-12的数据汇总公式
多个表按条件汇总,建议不要用公式去做。最好的方法是用数据透视表(多重合并计算,或用SQL关联多表提取数据),既简单方便,又快捷迅速。如果非得用公式,建议改用sumif函数,或者sumifs函数(该函数用于多条件求和,需要2007以上版本)。

EXCEL公式太长,求高手帮忙修改。EXCEL2003的
026 027 028 029 034 036 037 038 039 046 047 048 049 067 068 069 078 079 089 125 135 145 156 157 158 159 235 245 256 257 258 259 345 356 357 358 359 456 457 458 459 567 568 569 578 579 589 126 127 ...

EXCEL公式太长。高手帮忙
EXCEL 的Sheet 名称可以设置1월~12월 .然后再加起来就可以了.也可以把12个月的文件都放在同一个表格,然后直接用 =sum(***,***,***,...) 这个函数来加,这样可能会更短.

EXCEL公式太长,求高手帮忙修改。EXCEL2003的
你这是彩票吗?不管是什么,把字符串保存在一个连续单元格区域,C171里的内容也按最小单位展开到一个连续单元格区域,然后用COUNTIF函数查找不就行了,而且字符串内容还便于维护。

excel编辑公式 高手帮忙解决下 谢啦
有时候会要求你允许启用宏才行.按照朱工朱工的计算公式,就可以了,可能是你输入有误吧 =((MID(A1,FIND("(",A1)+1,FIND("+",A1)-FIND("(",A1)-1)\/MID(A1,FIND("+",A1)+1,FIND(")",A1)-FIND("+",A1)-1)+1)+MID(A1,FIND("*",A1)+1,FIND("(",A1)-FIND("*",A1)...

excel公式编辑高手帮忙
B8=F7\/X X为一个数,针对100和5%,X是2000 X当然也就等于F7\/B8 补充回答:原来你是这个意思,没说清楚嘛,大家都误解了。那就用这个公式:=F7*MID(B8,5,100)Q我吧,40194204

EXCEL公式高手帮忙写条公式,非常感谢
二、其实你这个问题很简单,关键是你自己叙述不清,大家都弄不明白你想要个什么结果。昨天就看过你的问题,加上今天的说明,看我理解的对不?首先,B列和C列数值对比,取小的数。其次,这个小的数值按照大于小于1的都返回=6,小于2的都返回=7,小于3的都返回=8,大于等于3的统一返回用中文标注(...

求高手帮忙编下Excel公式~谢谢了~
不知道你是不是要的这样的结果啊?B1=IF(A1>100,"100~500","100以内")然后拖动鼠标

EXCEL公式问题:高分急求,高手请进!
先填充“监护人姓名”一列的公式:F2=IF(A2="","",IF(B2="户主",C2,F1))再填充“监护人称呼”一列的公式:E2=IF(A2="","",IF(VLOOKUP(F2,C:D,2,0)="男","父亲","母亲"))。

相似回答