问候, 在其中一列中,我有以下值:
9-7
9-18
9-142
目前,当我根据这个专栏排序时,我必须遵循:
9-142
9-18
9-7
我想按如下方式对这些值进行排序:
9-7 (so it would be 9-007)
9-18 (so it would be 9-018)
9-142
我尝试了以下格式:
=Format(Fields!ShelfNumber.Value,"000-000")
但它不起作用。请有人帮帮我吗?
答案 0 :(得分:1)
按以下表达式排序:
=Cint(IIf(InStr(Fields!shelfnumber.Value,"-")<=1,"0",Left((Fields!shelfnumber.Value & "-"), InStr((Fields!shelfnumber.Value & "-"),"-")-1)))
=Cint(IIf(Fields!shelfnumber.Value="" or Len(Fields!shelfnumber.Value)=InStr(Fields!shelfnumber.Value,"-"),"0",Right(Fields!shelfnumber.Value, Len(Fields!shelfnumber.Value) - InStr(Fields!shelfnumber.Value,"-"))))
第一个将 - 之前的字符转换为数字,第二个将字符后面的字符转换为数字。
已编辑,允许空字符串。
进一步编辑,允许在字符串的开头或结尾使用-
的ShelfNumbers。
进一步编辑,经过测试。