簡體   English   中英

如何使用公式將文本附加到Excel中的整數?

[英]How do I append text to an integer in Excel using a formula?

我正在嘗試“翻譯”包含數字的文本字符串的語法(最終目的是翻譯兩個醫學數據庫的搜索詞,但這並不是很重要)。

我想要的是在另一個單元格中更改一個單元格的內容。 例如:

1或2或3或4

變成:

#1或#2或#3或#4

我可以單獨使用一個數字來執行此操作

=IF(ISNUMBER($D$37),"#"&$D$37,"")

...這意味着1成為#1,但我無法計算出多個數字的處理方法。

您提供了一個示例,以便將1或2或3或4轉換為#1或#2或#3或#4使用,

="#"&SUBSTITUTE(A2, " or ", " or #")

如果您有Office 365 Excel,則使用此數組公式:

=TRIM(CONCAT(IF(ISNUMBER(--TRIM(MID(SUBSTITUTE(A1," ",REPT(" ",999)),999*( ROW(INDIRECT("1:"&LEN(A1)-LEN(SUBSTITUTE(A1," ",""))+1))-1)+1,999))),"#" & TRIM(MID(SUBSTITUTE(A1," ",REPT(" ",999)),999*( ROW(INDIRECT("1:"&LEN(A1)-LEN(SUBSTITUTE(A1," ",""))+1))-1)+1,999))&" ",TRIM(MID(SUBSTITUTE(A1," ",REPT(" ",999)),999*( ROW(INDIRECT("1:"&LEN(A1)-LEN(SUBSTITUTE(A1," ",""))+1))-1)+1,999))&" ")))

作為數組公式,退出編輯模式時必須使用Ctrl-Shift-Enter而不是Enter進行確認。 如果操作正確,則Excel會將{}放在公式周圍。

![在此處輸入圖片描述

如果您沒有Office 365 Excel,它將需要vba來執行公式的作用。

該公式逐個字母地迭代字符串,並在遇到數字時將其重新組合為#

VBA解決方案,以防萬一。

Public Function Hashize(S As String) As String
    Dim Words() As String
    Dim I As Integer
    Words() = Split(S)
    For I = LBound(Words) To UBound(Words)
        If IsNumeric(Words(I)) Then
            Words(I) = "#" & Words(I)
        End If
    Next
    Hashize = Join(Words, " ")
End Function

暫無
暫無

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

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