Excel精英培训网

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

[已解决]把0改成比9大成为正数=1

[复制链接]
发表于 2016-7-18 05:12 | 显示全部楼层 |阅读模式
本帖最后由 hanjia 于 2016-7-18 13:06 编辑

=IF(OR(A1={1,2}),1,TEXT(A1-B1,"1;2;0"))

怎么把0改成比9大成为正数=1
把他0对0=0
0对其他数=1
0--0=0
0--1=1
0--2=1
0--3=1
0--9=1
A1是0查B1也是0就=0
A1如果是其他数就=1
其他的还是A1-B1  相同=0  正数=1  负数=2

工作表2.zip (6.97 KB, 下载次数: 3)
 楼主| 发表于 2016-7-18 08:03 | 显示全部楼层
=IF(OR(A$1={1,2}),1,IF(A1=B1<9,2,TEXT(A1-B1,"1;2;0")))
像这条我加  IF(A1=B1<9,2
他显示的0比9小 负数所以=2
怎么把他改成0比9大成为正数=1
回复

使用道具 举报

发表于 2016-7-18 08:27 | 显示全部楼层
回复

使用道具 举报

发表于 2016-7-18 08:31 | 显示全部楼层
如果是一位数
=IF(A1=B1,0,IF(IF(A1>B1,1,-1)*IF(ABS(A1-B1)=9,-1,1)=1,1,2))
回复

使用道具 举报

发表于 2016-7-18 09:12 | 显示全部楼层
=LOOKUP((A1-B1)*IF(A1*B1,1,-1),{-9,0,1},{2,0,1})
回复

使用道具 举报

发表于 2016-7-18 09:20 | 显示全部楼层
我能说,我看了十遍都没理解楼主的意图吗?
回复

使用道具 举报

 楼主| 发表于 2016-7-18 10:04 | 显示全部楼层
蝶·舞 发表于 2016-7-18 09:20
我能说,我看了十遍都没理解楼主的意图吗?

就是  A1-B1相同C1=0  正数=1  负数=2
一,就是 A1是1或者2  直接在C1=1     3以上才跟B1对比
二,数据里没有10, 只有0到9    但是碰到0了就要比9大才能得出正数=1
正常是0不可能大于9     我是在跟你们这些大神学习的  
最后试来试去    不知道还有没有别的写法
=IF(OR(A1={1,2}),1,TEXT(TEXT(A1,"0;;10")-TEXT(B1,"0;;10"),"1;2;0"))

前面几个大神写的都对   但是还差 A1是1或者2  直接在C1=1
回复

使用道具 举报

发表于 2016-7-18 10:13 | 显示全部楼层
就是A1和B1分别是0-9的十个数字
如果A1等于1或2,C1直接就是1
如果A1>2或等于0时(也就是A1不为1或2时),a1-b1,然后根据结果,正为1,负为2,0为0
是不是这样的理解法?
回复

使用道具 举报

发表于 2016-7-18 10:54 | 显示全部楼层    本楼为最佳答案   
hanjia 发表于 2016-7-18 10:04
就是  A1-B1相同C1=0  正数=1  负数=2
一,就是 A1是1或者2  直接在C1=1     3以上才跟B1对比
二,数据 ...

用vba试试
Sub xx()
Dim i&
For i = 1 To Range("A65536").End(xlUp).Row
If Cells(i, 1) <> "" Then
  If Cells(i, 1) > 0 And Cells(i, 1) <= 2 Then
     Cells(i, 3) = 1
  End If
    If Cells(i, 1) > 2 And Cells(i, 1) <= 9 Then
      If Cells(i, 1) = Cells(i, 2) Then
         Cells(i, 3) = 0
      ElseIf Cells(i, 1) > Cells(i, 2) Then
             Cells(i, 3) = 1
      ElseIf Cells(i, 1) < Cells(i, 2) Then
             Cells(i, 3) = 2
      End If
    End If
       If Cells(i, 1) = 0 Then
         If Cells(i, 1) = Cells(i, 2) Then
            Cells(i, 3) = 0
         ElseIf Cells(i, 1) < Cells(i, 2) Then
                Cells(i, 3) = 1
         End If
       End If
End If
Next
End Sub
回复

使用道具 举报

 楼主| 发表于 2016-7-18 10:57 | 显示全部楼层
本帖最后由 hanjia 于 2016-7-18 11:02 编辑
蝶·舞 发表于 2016-7-18 10:13
就是A1和B1分别是0-9的十个数字
如果A1等于1或2,C1直接就是1
如果A1>2或等于0时(也就是A1不为1或2时), ...

是的  但是0不可能大于任何一位数吧  所以得出的为2
如果A1是0时  只有2个结果  A1是0-B1也是0时=0  
如果A1是0  B1除了0之外其他的都为1
也就是说0到9这十个数   把他当成1到10   来完成了



回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-24 02:54 , Processed in 0.478669 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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