EXCEL 百问百答(续1)冯德平(网名:山野雪人)
excel吧
全部回复
仅看楼主
level 7
山野雪人 楼主
EXCEL 百问百答(续1)冯德平(网名:山野雪人)
《EXCEL 百问百答》这个主题已经1年,这一年来帖子达到了约1200篇,点击率了超过了
30000(绝对真实,没有用任何软件刷过的),收藏或转本贴的达24人次,随着贴子的增多
,速度也受到一定的影响,现决定重新开一贴继续Excel百问百答:
纵观以前大家提的问题,觉得有必要在这里作一个说明:
1、发问者最好是一题一问,并且在发问前看一下以前有没有人问过这样的问题,以免重复。
2、本贴主要是关于Excel VBA的,不过也不排除回答一些关于表格中的函数、表格操作的问
题。
3、提问者必须要有注册名,没有注册名的一般不给予回答。
4、提问时请把问题说清楚,最好有具体的数据,如果问:怎样将某列数据删除?
    就不是一句好的提问,应该这样问:怎样将C列数据删除?
    因为在写VBA时,具体的数据会使程序更加清晰。
    如果提问者问得不具体,我的回答也会很抽象。
5、不是关于VBA的问题请不要在这里发言,特别是有人提到一些数学问题,我建议不要在这
里提。
6、本人的发言版权属于本人,末经本人书面授权,不得转载、复制、修改、出版。
                                
                      冯德平(网名:山野雪人)
                      作者单位:湖北省荆州市长江河道管理局XX分局
附原文链接:
Excel 百问百答(不断添加中)
https://tieba.baidu.com/f?kz=673886610
2010年12月24日 04点12分 1
level 1
我在制出入库表时有个问题一直没解决,希望你能帮我一下。
     A     B      C     D        E
1 1      1.5      3      3.5      4.2     总数
2 25     35      36      37      38      474.6
3 5      3       4      5     0       559
4 5      5              5      2        65
559和65是错的, 我希望是第1行和下面每行相乘的总数,559和65 应该是39和      38.4。表格有很多项。我就想知道这个 ( 第1行和下面每行相乘的总数 )
2010年12月24日 04点12分 2
直接用SUMPRODUCT函数不就可以了么,只要确保第一行为绝对引用就好
2013年05月23日 11点05分
level 1
雪人大叔在不在,帮帮忙。
2010年12月24日 04点12分 3
level 7
山野雪人 楼主
回复:2楼
假定你的数据在Sheet1
你可以这样操作:
1、在Sheet2中的A1中写上:
=Sheet1!A1*Sheet1!A2
复制到B1、C1、D1、E1
你会发现B1变成了:=Sheet1!B1*Sheet1!B2
把那个1前面加一个“$”,即:
=Sheet1!B$1*Sheet1!B2
同要C1也变成了:
=Sheet1!C1*Sheet1!C2
也在那个1前面加个“$”,即:
=Sheet1!C$1*Sheet1!C2
同样对D1、E1也这样处理。然后将A1至E1向下复制,在F1求和,即写上:
=SUM(A1:E1)
把F1向下复制。
以上都是在Sheet2中操作的,下面回到Sheet1:
在F2中写上:
=Sheet2!F1
向下复制即可。
这时你在Sheet1的F3中可以看到这个公式:
=Sheet2!F2
在Sheet1的F4中可以看到这个公式:
=Sheet2!F3
这些就是你要的结果。
2010年12月24日 06点12分 4
level 7
山野雪人 楼主
回复:4楼
当然也可以直接在Sheet1中完成,不过我认为这样写过程更清晰一些。
2010年12月24日 07点12分 6
level 1
相关系数的检验
   线性回归方程
回归方程的显著性检验
回归预测
   有兴趣帮忙解答的大神 欢迎加QQ939929200
   关于这方面 我是点都不懂
2010年12月24日 07点12分 7
level 7
山野雪人 楼主
回复:7楼
读1楼的第5条没有?去统计吧发这样的问题。
2010年12月24日 09点12分 8
level 7
山野雪人 楼主
回复:7楼
如果只是实际使用,我认为quotro pro是很不错的东东,我以前常用的。
以下电话是假的。
2010年12月25日 00点12分 9
level 7
山野雪人 楼主
回复:2楼、4楼:
如果用另外一种方法(VBA),可以直接到向结果。
首先将原数据复制到Sheet3中,然后写入如下VBA程序:
Sub 第一行的值乘以相应的单元格的值后求和()
Sheet3.Activate
Range("A2:E4").Name = "MyName"
For Each cell In [Myname]
i = i + 1
If i Mod 5 = 1 Then
J = J + 1
Cells(J, 8) = cell * Range("A1")
End If
If i Mod 5 = 2 Then  
K = K + 1
Cells(K, 9) = cell * Range("B1")
End If
If i Mod 5 = 3 Then  
L = L + 1
Cells(L, 10) = cell * Range("C1")
End If
If i Mod 5 = 4 Then   
M = M + 1
Cells(M, 11) = cell * Range("D1")
End If
If i Mod 5 = 0 Then  
N = N + 1
Cells(N, 12) = cell * Range("E1")
End If
Next cell
Range("M1").Formula = "=sum(H1:L1)"
Range("M1").Select
Selection.Copy Range("M2:M3")
Range("M1:M3").Select
Selection.Copy
Selection.PasteSpecial xlPasteValues
Selection.Copy Range("F2:F4")
Range("H1:M3").Clear
End Sub
运行上面的程序,就可以直接得到结果。

2010年12月25日 03点12分 10
level 7
山野雪人 楼主
感谢板主加精!
回复:10楼
“可以直接到向结果”
应该是:可以直接得到结果
2010年12月25日 03点12分 11
level 1
你好    我想把表格中 其中相同的数据筛选出来  
年份     客户       数据
2009      张三       1000
2010     张三       1500
2009     李四        950
2009     王五       1000
2010     王五       300
就像这种 但整张表客户很多 数据也多    想筛选每两个相同名字的客户

2010年12月25日 04点12分 12
level 1
楼主呢   [汗] 很急
2010年12月25日 04点12分 13
level 6
[惊讶] 雪人大人要开第二高楼 [Yeah]

2010年12月25日 05点12分 14
level 7
山野雪人 楼主
回复:12楼
按客户排序不就出来了么?
点:开始\排序和筛选\自定义排序
在主要关键字里选客户,点“确定”就OK了。
用VBA也很容易实现,假设你的数据是排在Shhet1的A、B、C三列:
Sub 按客户排序()
     MaxRow = Range("A65536").End(xlUp).Row
     Sheet1.Sort.SortFields.Add Key:=Range("B2:B" & MaxRow)
     With Sheet1.Sort
         .SetRange Range("A1:C" & MaxRow)
         .Header = xlYes
         .Apply
     End With
End Sub
2010年12月25日 08点12分 16
level 7
山野雪人 楼主
回复:12楼、16楼
如果姓名不会出现4个相同的,则这样来筛选出两个相同的用户:
Sub 选相同的客户() '不出现4个相同的
       Range("B2").Select
       Do While ActiveCell <> ""
       If ActiveCell = ActiveCell.Offset(1) Then
       I = I + 2
          ActiveCell.EntireRow.Copy Sheet2.Cells(I, 1)
          ActiveCell.Offset(1).EntireRow.Copy Sheet2.Cells(I + 1, 1)
          ActiveCell.Offset(2).Select
       Else
           ActiveCell.Offset(1).Select
       End If
       Loop
End Sub
如果会出现4个6个或更多成对出现的则加个判断后删除,不知你的表中是什么状况,没有看到你的说明。
2010年12月25日 08点12分 17
level 7
山野雪人 楼主
回复:15楼
别的文件也一样的这样去设置,因为对隐私的保护是欧美人非常重视的问题,来不得半点含糊。
2010年12月25日 08点12分 18
level 6
回复:18楼
[揉脸] 那个是使用宏造成的,有没有什么方法可以使用宏而不出现那个东东。我写的宏要给人用的,可现在我们一打开EXCEL就经常出现那个,好烦 。
2010年12月25日 09点12分 19
level 7
山野雪人 楼主
回复:19楼
你给用户一个去除了那个窗口的Excel文件,应该是不会弹出的那个窗口的.
2010年12月25日 11点12分 20
level 1
我在做在岗人员档案时,遇到这个问题,希望你能帮我解答下:
我希望最后“工龄显示”的那栏得出“几年几月”,
应该用什么公式,什么格式才能得出?
资料如下:
工龄年数     工龄月数     余月数     工龄显示
    3          47         11    
   1          22         10    
   0         8           8    
   2          35        11    
    0           2           2    
2010年12月26日 05点12分 22
level 7
山野雪人 楼主
回复:22楼
在D2输入:
=A2&"年"&C2&"月"
向下复制即可。
2010年12月26日 15点12分 23
1 2 3 4 5 6 尾页