作者:乔山办公网日期:
返回目录:excel表格制作
源数据在AB列:
1、在C1输入
=INDEX(A:A,SMALL(IF(MATCH(A$1:A$100&"",A$1:A$100&"",)=ROW($1:$100),ROW($1:$100),4^8),ROW(1:1)))&""
数组公百式,输入后先不要回车,按Ctrl+Shift+Enter结束计算,再向下度填充;
2、在D1输入
=INDEX(Sheet1!内$B:$B,SMALL(IF(Sheet1!$A$1:$A$100=$C1,ROW($1:$100),4^8),COLUMN(A1)))&""
数组公式,操作同上,再向右和向下填充;
3、选C~后面有数据的列——复制——右键——选择性粘贴——数值——确容定;
4、删除AB列。
看的我头大
我还没搞清楚楼主想要什么结果
这句话“我不可能每一项的次数这样数因为实在太多了”,漏字了吧?
是说要计算出:
1、多少zhidao个不重复的项目?
2、每个项目(有重复)有多少个?
如果是我猜的这个要求,也容易解决
1、假设项目都在A列,第一行为标题,第二行为数据,假设有数据的最后一行826行(你根据你的实际数据修改),我们把B列作为去重复后内新数据,B列第一行依然作为标题,第二行填写
=INDEX(A:A,SMALL(IF(MATCH(A$2:A$826,A$2:A$826,)=ROW($1:$825),ROW($2:$826),4^8),ROW(1:1)))&""
然后按住键盘的shift、ctrl、enter三个键,这样就建立好了函数的数组。
然后拉动B2单元格往下就可以了。
注意:容A列数据区中间和结尾都不能有空白行。否则会出错。
2、计算每个项目有多少个
C2单元格设立函数:=COUNTIF(A:A,b2),然后拉动C2单元格往下即可。
楼主说“我的要求是第二列怎么引用第一列”,此话不明白,就是大家不明白楼主要干什么,你的目标结果是什么?
方法/步骤
1
启动excel2003,打开数据文件。
2
找到需要使用的写入公式的单元格或者是行,列等,双击击单元格,进入编辑模copy式。
3
调用方法一:先以等百号 “=”开头,然后写入调用的函数名如 =sum(B1:B10),回车即可显示求和。每一种函数都有自己独特的度使用方法,相关使用格式可以查阅教程,此处不作一一介绍。
4
调用方法二:点击 调用函数 按钮 进入函数库的问选择, 按照提示选择需要用的函数,使用函数时,还有使用提示,(一般是英文的)。
5
如果会使用excel的VBA语言,使用库函数和用户自定义函数的功能。(此答方法使用要求比较高)
6
三种形式的函数调用你现在了解了吧。
打开你的Excel文件,百按“Alt+F11”打开VBA编辑窗口,然后在度左侧空白处点击右键,“插知入”,“模块”道。右侧空白处粘贴下面的代码。关闭VBA窗口。
然后如下内图,C2粘贴这容个公式并下拉:
=hebing($A$7:$A$10,A2,$B$7:$B$10,",")
Function HeBing(rng1 As Range, s As String, rng2 As Range, f As String) As String
Dim Arr1, Arr2
Dim r As Long
r = rng1.End(xlDown).Row - rng1.Row + 1
Arr1 = rng1.Resize(r, 1): Arr2 = rng2.Resize(r, 1)
Dim i As Long
For i = 1 To UBound(Arr1)
If Arr1(i, 1) = s Then
If HeBing = "" Then HeBing = Arr2(i, 1) Else HeBing = HeBing & f & Arr2(i, 1)
End If
Next
End Function