乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > <em>excel</em>返回值所对应的列名-excel 函数 返回列,excel返回列号的函

<em>excel</em>返回值所对应的列名-excel 函数 返回列,excel返回列号的函

作者:乔山办公网日期:

返回目录:excel表格制作


AH2=INDEX($C$1:$AG$1,32-MOD(LARGE($C2:$AG2+(34-COLUMN($C2:$AG2))/10000,COLUMN(A2)),1)*10000)数组公式向下向右复制

数组公式,公式输完后,光标放在公式编辑栏同时按zhidao下CTRL+SHIFT+回车键,使数组公式生效



不太明白你的条件,你根据什么来得到这些列名?
Private Sub Worksheet_Change(ByVal Target As Range)
MsgBox Target.Column
End Sub
这段代码能得到你改动的单元格的地址,是要这个吗?

利用excel2016以上版本的power query可以完成这个功能

如图,各个任务都是以+隔开,先选中表格,在数据中,新建一个查询,查询是基于表格的(不同版本位置可能不同)

先将周一到周五的所有任务分别分成单个的列,分隔符图中是 “+”

即使某一天没有一个人做多个任务的,也做一下这个操作,因为以后可能会有人做这样的操作。做完以后的样子如下图

选中除姓名外的所有行,做一次逆透视

结果如下图

下面把周一.1之类的.1,.2删除,也是用一次拆分,分隔符为“.“

把多余的属性.2列删除

再做一个一定会出错的一个操作,根据任务和日期,对姓名进行求和,因为同一任务可能会有多个人,要进行合并,但普通用户不会输入命令,就用这样的方式改最简单

再进行一下修改,原来是

修改为

Text.Combine([列1],","), 要注意大小写

如果这样的表格就能满足要求了,可以不再继续了。

如果要再透视,选中属性(日期),进行透视,值是计数(姓名)再有一个特殊的操作,一定要选“不要聚合”

再修改各个列的名字,再将结果进行上载即可,如果要放到指定的位置,就用“上载至……”

最后的结果是如下图

以后在表1中修改,表2点一下刷新即可。



按如下步骤操作: 1。E2中输入 =ADDRESS(MAX((A1:C4=E1)*ROW(1:4)),MAX((A1:C4=E1)*(COLUMN(A:C))),4) 2。输入后 按 ctrl + shift + enter(回车) 注意三个zhidao键同时按,你会发现公式被加了一个大括号,不是手工加的哦 3。根据你的行数,列数调整公式,我的公式是针对你的例子给的,有A1:C4的地方,你的行数如果是100,就把C4变成C100,同时ROW(1:4)要变成ROW(1:100) 要是D列还有数据,就把所有C变D 改完还是要ctrl + shift + enter 呵呵,你在E1中输入数据,E2就得到该数据在数据库中的位置了,呵呵,搞定了 关于你的补充问题,在以上操作基础上继续如下操作: 1。在E3中输入 =sumproduct((e1=a1:c4)*a1:a4) 然后回车 2。在F3中输入 =vlookup($e$3,$a$1:$c$6,column(b:b),0) 回车 3。将F3中函数向右拖动复制至G3 呵呵,搞定

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网