说明:因为是几年来在优快云回答问题的收集整理,所以还是归结为“转载”。
在优快云回答问题的汇总
一、excel数据查找(这里)
问题:
如何在表2中实现查找表1数据,并显示在表2中
如:在表2的 a1中输入111.查找表1中a列有没有111模糊匹配,
在表2的b1c1依次显示,表1中匹配的行
回答:
用函数可以实现,只是复杂了点。
二、怎样寻找与本月最接近月份的有关数据(这里)
问题:
在sheet2表上,设A列为月份、C列为支出数。现在在sheet1表的某单元格要登记sheet2表的8月份的支出数,要求sheet2表上有8月份的数据即登记8月份的支出数。如果没有8月份的,即登7月份的,也没7月份的即登6月份的,一直到有最接近的那一个月的支出数,直到1月份,如果全年都没有则为空格。请求指教怎样列出公式?谢谢!
回答:
三、关于excel中统计不重复的数据个数(这里)
问题:
数据源:
A B
河北 站点1
河北 站点2
河北 站点1
北京 站点3
北京 站点4
北京 站点4
北京 站点5
实现结果:
分公司站点数量
河北 2
北京 3
如何用函数公式自动实现2和3这个结果,谢谢,研究了好几天了,都没有解决
回答:
四、excel中,有一列中是多个名字以逗号分隔,想统计某个名字出现次数(这里)
问题:
然后在下面一个表格里统计每个名字出现次数,能做到吗?
回答:
五、一个EXCEL查询的问题,经常用到(这里)
问题:
有张本班学员名单,还有张全校学生的考试成绩表,想自动用EXCEL查询出本班所有学生的所有科目的成绩,怎么实现?
说明:
1、以学号为依据查询,学号唯一
2、考试表中一个学号可能会有好几条考试记录
回答:
写一个公式为例:
=IF(ROW()-ROW(AE$1)<=COUNTIF($G$2:$G$49,AE$1),INDIRECT("H"&SMALL(IF($G$2:$G$49=AE$1,ROW($G$2:$G$49),49),ROW()-1)),"")
依次作点说明,以便于你照猫画虎。
其中:AE$1是你要找的学号所在的单元格
$G$2:$G$49是成绩表中学号所在的列
"H"是你要找出的成绩所在的列,比如你想知道总分,用总分所在的列比如K替换H
49,来源于$G$2:$G$49,你学号所在列的最下端一个单元格的行号
1,来源于AE$1,它的行号是什么,你就写什么。
把公式写入AE$2后,按crtl+shift+enter,把它变成一个数组公式。
再选中AE$2这个单元格,向下拖,复制它,最多有几条记录就拖几行,比如可能最多有5条记录,就往下复制4行。
这个办法可以解决你说的多记录问题,有几个总分就能找出几个来。
如果你想同时找出除总分以外的科目,得修改那个"H"。
这样一来,输入一个考号,就能出来他的全部成绩。
不过,你提的“自动用EXCEL查询出本班所有学生的所有科目的成绩”,这个所有学生的成绩你打算形成一个什么样的表不知道,所以没办法实现。但,一次查出一个学生的所有成绩绝对没问题。
六、如何计算工资(这里)
问题:
姓名岗级工资新工资
aa1 A级 2200
aa2 B级 3750
aa3 A级 2200
aa4 D级 7425
aa5 C级 2250
aa6 B级 1500
aa7 A级 1000
aa8 B级 1500
aa9 D级 6075
aa10 A级 2200
aa11 A级 1500
aa12 D级 8437.5
aa13 D级 3375
aa14 E级 9112.5
aa15 B级 3750
aa16 B级 2700
aa17 D级 8437.5
原工资级别表
一级二级三级四级五级六级
A级 1000 1500 1800 2200 2500 3000
B级 1500 2250 2700 3300 3750 4500
C级 2250 3375 4050 4950 5625 6750
D级 3375 5062.5 6075 7425 8437.5 10125
E级 5062.5 7593.75 9112.5 11137.5 12656.25 15187.5
新工资级别
九级八级七级六级五级四级三级二级一级
A级 5400 4800 4200 3600 3000 2640 2160 1800 1200
B级 9720 8640 7560 6480 5400 4752 3888 3240 2160
C级 17496 15552 13608 11664 9720 8554 6998 5832 3888
D级 31493 27994 24494 20995 17496 15396 12597 10498 6998
E级 56687 50388 44090 37791 31493 27714 22675 18896 12597
题目要求:
目前进行工资调整,根据目前所在的岗位定新的目标工资,要求目标工资必须在工资范围内,原岗级为6级,新岗级为9级,原则是在新的岗级范围内就近就高原则,即在指定级别范围内找到最接近的,并大于等于目前的工资。
回答:
新工资九级八级七级六级五级四级三级二级一级
A级 5400 4800 4200 3600 3000 2640 2160 1800 1200
B级 9720 8640 7560 6480 5400 4752 3888 3240 2160
C级 17496 15552 13608 11664 9720 8554 6998 5832 3888
D级 31493 27994 24494 20995 17496 15396 12597 10498 6998
E级 56687 50388 44090 37791 31493 27714 22675 18896 12597
原工资一级二级三级四级五级六级
A级 1000 1500 1800 2200 2500 3000
B级 1500 2250 2700 3300 3750 4500
C级 2250 3375 4050 4950 5625 6750
D级 3375 5062.5 6075 7425 8437.5 10125
E级 5062.5 7593.75 9112.5 11137.5 12656.25 15187.5
姓名岗级工资新工资
aa1 A级 2200 2640
aa2 B级 3750 3888
aa3 A级 2200 2640
aa4 D级 7425 10498
aa5 C级 2250 3888
aa6 B级 1500 2160
aa7 A级 1000 1200
aa8 B级 1500 2160
aa9 D级 6075 6998
aa10 A级 2200 2640
aa11 A级 1500 1800
aa12 D级 8437.5 10498
aa13 D级 3375 6998
aa14 E级 9112.5 12597
aa15 B级 3750 3888
aa16 B级 2700 3240
aa17 D级 8437.5 10498
公式:=INDEX($B$2:$J$6,MATCH(B16,$A$2:$A$6),MATCH(C16,INDEX($B$2:$J$6,MATCH(B16,$A$2:$A$6),),-1))
把上面的内容复制到excel中,求aa1的新公资那一行是第16行,上面附的公式就是写在这一行第4列中,得出的结果是2640。
剩下的该怎么做,你懂的。
解说一下:
第一步根据B16找出对应的级别在2-6行中的位置,它决定了我们等会去找的行,这里值为1
公式为: MATCH(B16,$A$2:$A$6)
第二步用index函数把2-6行中第1行的数据返回,缩小查找范围为第2行A级的九个工资。
MATCH(B16,$A$2:$A$6)
公式为: INDEX($B$2:$J$6,MATCH(B16,$A$2:$A$6))
第三步再用match函数在第二步结果中找与原工资相近而高的值所在的位置,结果是6
公式后面的参数-1,决定了是找大于查找值的最接近值
公式为: MATCH(C16,INDEX($B$2:$J$6,MATCH(B16,$A$2:$A$6),),-1))
第四步有了一个区域B2:J6内的行号1(第一步的结果)
有了一个区域B2:J6内的列标6(第三步的结果)
再用index函数得出那个位置的值就行了。
公式为:INDEX($B$2:$J$6,MATCH(B16,$A$2:$A$6),MATCH(C16,INDEX($B$2:$J$6,MATCH(B16,$A$2:$A$6),),-1))
这里有一幅图,直观点
七、EXCEL用函数实现列表查询(这里)
问题:
遇到一个比较棘手的问题
如果现在有一个10X10的列表,X轴和Y轴分别有对应的参数来表示。
如何通过函数来实现,我在A1,B1,分别输入一个数据,在C1会自动根据A1,B1的数据在一个10X10的数据区域里找出对应的那个值返回回来?
图不知道怎么贴。。。。
其实就这么来说好了
A1输入800
B1输入10
C1输出结果
数据
在I1:L4
I1为空J1为800K1为1000L1为1200
I2为5 J2为1300 K2为1500 L2为2000
I3为10 J3为1400 K3为1600 L3为2100
I4为15 J4为1500 K4为1700 L4为2200
那按照我们的目的C1应该输出的就是1400
回答:
在C1中输入公式:
=INDEX(I1:L4,MATCH(B1,I1:I4,0),MATCH(A1,I1:L1,0))
结果是你要的1400
八、excel如何对多列进行排序(这里)
问题:
比如有下面这么些数据,希望得到第一列从小到大,对每一个第一列的值,第二列从小到大,类似的,对每一个第二列的值,第三列从小到大,……。谢谢
0.1 10 4 10 8191
0.1 10 8 10 8191
0.1 20 4 1 8191
0.1 20 4 10 8191
0.1 20 4 49 8191
0.3 1 16 15 2048
0.3 1 16 15 8191
0.3 1 16 5 2048
0.3 1 16 5 8191
0.3 1 28 5 2048
0.3 1 28 5 8191
回答:
选中你要排序的各列,点“数据”-“排序”,打开“排序”对话框。
在“主要关键字”中选第1列,因为要从小到大,默认“升序”不用改动。
“次要关键字”和“第三关键字”依次定为第2列和第3列,其余不用设置。
点击“确定”,就能有你要求的效果了。
九、word替换问题(这里)
问题:
一篇文档类似
adnf,(wer,3er,w33,3,3)sdaui33,3,3(wej33,3,3,)vf33
如何才能把所有括号内的 ,3替换为 00呢。。。不替换括号外的。。。
或者如何能把括号内的内容另存在一个别的文件里,然后再替换
有没有会vba的高手啊。。。求助。。。
回答:
1、打开“替换”对话框,点击左下角“更多”,在加长的部分找“使用通配符”,勾选它。
2、在“查找内容”中输入:(\(?*),3(?*\))
(说明,不要复制冒号,下同)
在“替换”中输入:\100\2
3、点“全部替换”,即可解决括号内的第一个,3。
4、重复步骤3,直到找不到。