
如何使Excel表格中两列中数值不重复(同一行的两单元格中间所用的数值也不允许重复) 5
未成功!这是一个序列号分配核对表,A列为起始值,B列为终止值,但表格数值并不是从小到大往下排列;要求不能有重复。例:A1为10,B1为15,A2为3,B2为6,A3输入大于10却小于15时或A3大于3却小于6时会有提示,以此类摧,A4的值也不允许界于已输入的同一行的A列单元格与B列单元格之间 展开
你好:这个功能可以通过数据有效性来实现。点一下B3单元后,点数据数菜单,点选数据有效性。在充许项里选,自定义,并输入这个公式:=OR(B3<$A$2,B3>$B$1,AND(B3<$A$1,B3>$B$1))
当输入11时,会提示对话框,并拒绝你的录入。
输入4时,也一样提示非法,并拒绝录入。
更多WPS办公软件教程,请访问:http://bbs.wps.cn或者http://e.weibo.com/wpswfw
我理解你的要求是:闭区间[An,Bn](n=1,2,......)不能有交集,而且An,Bn都是整数,An<Bn。一旦输入的数据不符合要求,会提示错误。这样当A1为10,B1为15,A2为3,B2为6,A3为2时,B3=7也应报错。因为[2,7]和[3,6]有交集。
可以通过设置辅助列和辅助单元格来实现:
不妨把C列作为辅助列,D1、D2、D3为辅助单元格。
D2=MAX(COUNTA(A:A),COUNTA(B:B))
D3=MAX(A:B)
C1=SUMPRODUCT((ROW()>=OFFSET($A$1,,,$D$2))*(ROW()<=OFFSET($B$1,,,$D$2)))
下拉复制到或超过D3所显示的行。
D1=IF(MAX(C:C)>1,"错","对")
D1是作出提示的单元格。
我注意到你的问题补充,你没有把C1的公式下拉复制到或超过D3所显示的行。
其实也不一定要用下拉复制,如D3=3000,可以选定C1:C3000,输入
=SUMPRODUCT((ROW()>=OFFSET($A$1,,,$D$2))*(ROW()<=OFFSET($B$1,,,$D$2)))
按Ctrl+Enter
这样可避免下拉复制的麻烦。
公式1:
=AND(B1<>"",COUNTIF($B:$C,B1)>1)
格式:。。。
公式2:
=AND(B1<>"",COUNTIF(1:1,B1)>1)
格式:。。。
[c:c] = ""
x = Sheet1.UsedRange.Rows.Count
For i = 1 To x
If Cells(x, 1) > Cells(x - 1, 1) And Cells(x, 1) < Cells(x - 1, 2) Then Cells(x, 3) = Cells(x, 1) & " 错误"
If Cells(x, 2) > Cells(x - 1, 1) And Cells(x, 2) < Cells(x - 1, 2) Then Cells(x, 3) = Cells(x, 2) & " 错误"
Next
End Sub