Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 1911|回复: 9

[已解决]如何再加一个条件呢?

[复制链接]
发表于 2015-9-10 14:45 | 显示全部楼层 |阅读模式
本帖最后由 h284124405 于 2015-9-10 16:07 编辑

If Cells(i, 7) = "分" Then Cells(i, 1) = 1 + sss

如何再加个条件, Cells(i, 1) 上面行有没有数呢?
有则=上面行的数 + 1,
没有则Cells(i, 1) = 1 + sss


比如:   2行 至 19行

其中的2行1列 = 2行7列是"分"   那一定是  =  1 + sss
                          否则 = 空
    3行1列 =  3行7列如果是"分"  就是  = 2行1列数 +1       2行没有数 则 = 1 + sss
                    否则  =  空
  
    4行1列 =  4行7列如果是"分"  就是  = 上面哪行有数   就在哪行的数上 +1  上面行都没有数 则  = 1 + sss
                    否则  =  空

    至到19行.



最佳答案
2015-9-10 16:06
h284124405 发表于 2015-9-10 15:52
比如:   2行 至 19行

其中的2行1列 = 2行7列是"分"   那一定是  =  1 + sss
  1.     If i > 1 And i <= 19 Then
  2.         If Cells(i, 7) = "分" And IsNumeric(Cells(i, 1).End(xlUp)) Then
  3.             Cells(i, 1) = Cells(i, 1).End(xlUp) + 1
  4.         ElseIf Cells(i, 7) = "分" Then
  5.             Cells(i, 1) = 1 + sss
  6.         End If
  7.     Else
  8.         If Cells(i, 7) = "分" Then Cells(i, 1) = 1 + sss
  9.     End If
复制代码
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2015-9-10 14:54 | 显示全部楼层
本帖最后由 七彩屋 于 2015-9-10 14:57 编辑

If Cells(i, 7) = "分" And Cells(i, 1).Offset(-1, 0) <> "" Then
Cells(i, 1).Offset(-1, 0) = Cells(i, 1).Offset(-1, 0) + 1
Else
Cells(i, 1) = 1 + sss

可能理解错了
回复

使用道具 举报

发表于 2015-9-10 14:55 | 显示全部楼层
本帖最后由 Hsiao 于 2015-9-10 15:19 编辑

If Cells(i, 7) = "分" Then
    If Cells(i - 1, 1) <> "" Then
         Cells(i , 1) = Cells(i - 1, 1) + 1
       Else
         Cells(i, 1) = 1 + sss
    End If
End If
回复

使用道具 举报

 楼主| 发表于 2015-9-10 15:06 | 显示全部楼层
Hsiao 发表于 2015-9-10 14:55
If Cells(i, 7) = "分" Then
    If Cells(i - 1, 1)  "" Then
         Cells(i - 1, 1) = Cells(i - 1, ...

我是想在当前行 = 上行数 + 1      上行没有数则 = 1 + sss

点评

已经修改了  发表于 2015-9-10 15:19
回复

使用道具 举报

发表于 2015-9-10 15:11 | 显示全部楼层
本帖最后由 yorkchenshunan 于 2015-9-10 15:26 编辑
  1.     If i > 1 Then
  2.         If Cells(i, 7) = "分" And IsNumeric(Cells(i - 1, 1)) And Cells(i - 1, 1) <> "" Then
  3.             Cells(i, 1) = Cells(i - 1, 1) + 1
  4.         ElseIf Cells(i, 7) = "分" Then
  5.             Cells(i, 1) = 1 + sss
  6.         End If
  7.     Else
  8.         If Cells(i, 7) = "分" Then Cells(i, 1) = 1 + sss
  9.     End If
复制代码
回复

使用道具 举报

 楼主| 发表于 2015-9-10 15:34 | 显示全部楼层
yorkchenshunan 发表于 2015-9-10 15:11

首先谢谢您

还有一个问题, 那就是如果 >1行 并且<19行

这中间的5行 Cells(i, 7) = "平"  那这里就没有数了.

再到第6行  Cells(i, 7) = "分"    那这里就连不上第四行的数 + 1  了

请问如何解决呢!  再次谢谢
回复

使用道具 举报

发表于 2015-9-10 15:40 | 显示全部楼层
h284124405 发表于 2015-9-10 15:34
首先谢谢您

还有一个问题, 那就是如果 >1行 并且

能不能具体说明,你想要达成的效果,比如如果第5-9行7列是”平“,第4、10行7列是”分“,那么你想达到的效果是:第5-9行1列都是”空“,然后第10行第1列是多少?=4行1列+1?还是=1+sss?最好能上EXCEL附件详细说明。
回复

使用道具 举报

 楼主| 发表于 2015-9-10 15:52 | 显示全部楼层
yorkchenshunan 发表于 2015-9-10 15:40
能不能具体说明,你想要达成的效果,比如如果第5-9行7列是”平“,第4、10行7列是”分“,那么你想达到的 ...

比如:   2行 至 19行

其中的2行1列 = 2行7列是"分"   那一定是  =  1 + sss
                          否则 = 空
    3行1列 =  3行7列如果是"分"  就是  = 2行1列数 +1       2行没有数 则 = 1 + sss
                    否则  =  空
  
    4行1列 =  4行7列如果是"分"  就是  = 上面哪行有数   就在哪行的数上 +1  上面行都没有数 则  = 1 + sss
                    否则  =  空

    至到19行.
回复

使用道具 举报

发表于 2015-9-10 16:06 | 显示全部楼层    本楼为最佳答案   
h284124405 发表于 2015-9-10 15:52
比如:   2行 至 19行

其中的2行1列 = 2行7列是"分"   那一定是  =  1 + sss
  1.     If i > 1 And i <= 19 Then
  2.         If Cells(i, 7) = "分" And IsNumeric(Cells(i, 1).End(xlUp)) Then
  3.             Cells(i, 1) = Cells(i, 1).End(xlUp) + 1
  4.         ElseIf Cells(i, 7) = "分" Then
  5.             Cells(i, 1) = 1 + sss
  6.         End If
  7.     Else
  8.         If Cells(i, 7) = "分" Then Cells(i, 1) = 1 + sss
  9.     End If
复制代码

评分

参与人数 1 +1 收起 理由
h284124405 + 1

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2015-9-10 16:11 | 显示全部楼层
yorkchenshunan 发表于 2015-9-10 16:06

谢谢您,成功
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-3-29 18:17 , Processed in 0.658920 second(s), 16 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表