簡體   English   中英

基於包含文本和數字的單元格中數字的條件格式

[英]Conditional Formatting based on number in a cell that contains both text and numbers

如果單元格A1的值為“ 600 T”,是否有辦法基於該數字應用小於/介於/大於條件格式的數字,而實際上忽略了該單元格中可能存在的任何文本?

=VALUE(LEFT(A1,3))<=X
=VALUE(LEFT(A1,3))>=X

檢查A1的前3個字符(如果有數字)是否小於或大於X。

=IF(AND(VALUE(LEFT(A1,3))>=X,VALUE(LEFT(A1,3))<=Y),TRUE,FALSE)

檢查A1的前3個字符(如果有數字)是否在X和Y之間。

可以使用MID或RIGHT來檢查字符串中間或結尾的數字。

諸如AND布爾運算符已經返回TRUE或FALSE。

所以這:

=IF(AND(VALUE(LEFT(A1,3))>=X,VALUE(LEFT(A1,3))<=Y),TRUE,FALSE)

……相當於:

=AND(VALUE(LEFT(A1,3))>=X,VALUE(LEFT(A1,3))<=Y)


您可以通過將字符串乘以1將字符串轉換為數字。

所以這:

=LEFT(A1,3)*1

……相當於:

 =LEFT(A1,3)*1 


使用這些技術會減少您的公式:

 =IF(AND(VALUE(LEFT(A1,3))>=X,VALUE(LEFT(A1,3))<=Y),TRUE,FALSE) 

…對此:

=LEFT(A1,FIND(" ",A1))


由於您的數字也可能有4位數字,因此您可以返回數字部分,如下所示:

 =LEFT(A1,FIND(" ",A1)) 

確實返回了空格:“ 600”…但這不是問題,因為您將其強制轉換為數字。

因此,您的最終公式將如下所示:

 =AND(LEFT(A1,FIND(" ",A1))*1>=X,LEFT(A1,FIND(" ",A1))*1<=Y) 

更新資料

如果您的數字包含文本,則上面的公式將失敗並顯示#VALUE !,因為FIND正在查找不存在的空格。

您可以通過在FIND的第二個參數后面添加一個空格來解決此問題。 因此,您真正的最終公式將如下所示:

 =AND(LEFT(A1,FIND(" ",A1&" "))*1>=X,LEFT(A1,FIND(" ",A1&" "))*1<=Y) 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM