excel学习库

excel表格_excel函数公式大全_execl从入门到精通

Excel中横向拖拽的公式怎么引用纵向单元格

近日又有学员问:第一张表横向拖拽的公式如何引用第二张表纵向的单元格,该如何设置从E3到E4,而不是E3、F3?

第一张表:

第二张表:

【郑老师】

首先是IF函数逻辑问题

学员写的IF函数为:=IF(基础数据!I3<20%,150,IF(AND(基础数据!I3>=20%,基础数据!I3<80%),150-(基础数据!I3-20%)*100*2.5,0))

结果是正确的,但AND函数完全没有必要,因为IF第三个参数代表的是“否则”,也就是“>=20%”的情况,所以公式应简化为:

=IF(基础数据!I3<20%,150,IF(基础数据!I3<80%,150-(基础数据!I3-20%)*100*2.5,0))

然后看学员的问题:

公式得到公司1的运算结果后,学员无法通过拖拽得到公司2的结果,所以只能一个个修改公式。

其实要解决这个问题并不难,只是需要学员掌握足够多的函数(郑老师上课讲过,一般Excel工作人员需要掌握50个以上常用函数,专业Excel处理人员需要掌握100个以上常用函数)。

① "=基础据!I3"向右拖拽希望得到"=基础据!I4",也就是"I"列标不变(修改为:"=基础据!$I3"即可让列标不变);让"3"这个数字变成"4"、"5"......,那么向右拽的时候,什么会变呢?只能是列号,提取列号的函数是COLUMN(《Excel高级数据处理精华I版》课程中就有讲),=COLUMN(C1)就能得到"3",向右拖拽C1变成D1、E1,从而得到对应的列号"4"、"5"......。因此公式"=基础据!I3"可修改为:"=基础据!I"&COLUMN(C1)

② 公式="基础据!I"&COLUMN(C1)得到是一个单元格引用(“I3”),不是单元格的值。要得到单元格的值,需要使用INDIRECT函数(Excel高级数据处理精华II版》课程中有讲)。因此将公式"=基础据!I3"修改为:=INDIRECT("基础据!I"&COLUMN(C1))。

③考虑到=INDIRECT("基础据!I"&COLUMN(C1))公式在IF函数套用中出现三次导致公式较长,可以将其定义为名称Excel高级数据处理精华II版》课程中有讲)如:rg=INDIRECT("基础据!I"&COLUMN(C1))

最终公式修改为:=IF(Rg<20%,150,IF(Rg<80%,150-(Rg-20%)*100*2.5,0)),向右拖拽得到各个公司的值。

扩展:如果公式还需向下拖拽得到J、K...列的值。

这意味着公式=INDIRECT("基础据!I"&COLUMN(C1))中的I列在向下拖拽时需要变成J、K.....

此时需要大家掌握CHAR和ROW函数。

CHAR函数可以帮我们把数字转成字母,如=CHAR(65)、CHAR(66)......结果为"A"、"B"......;考虑到向下拖拽行号会变,所以CHAR公式可修改为:=CHAR(64+ROW(A1)),向下拖拽得到=CHAR(64+ROW(A2))......

所以可以将公式修改为:=INDIRECT("基础据!"&CHAR(64+ROW(A9))&COLUMN(C1)),注意64+ROW(A9)=73,CHAR(73)为学员需要计算的I列。各位可根据自己实际的计算列进行调整。

【知识点】INDIRECT、ROW、COLUMN、CHAR函数

有任何疑问,可添加郑老师微信(isp2000),与郑老师交流,同步视频见视频号。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年12月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
      友情链接