-
1 # 談天說地聊工作
-
2 # Excel到PowerBI
我是大海,微軟認證Excel專家,企業簽約Power BI顧問,喜歡研究無需VBA的Excel報表自動化及資料分析問題。
對於Excel一個空格(單元格)裡有多個數字,怎麼讓每個數字加100,這個問題如果用Excel傳統的功能來處理其實比較麻煩,甚至需要寫VBA程式碼才能實現比較自動化的效果。
但是,隨著Excel2016的新功能Power Query(Excel2010或Excel2013可到微軟官方下載相應的外掛)的普及,這個問題解決起來非常簡單。
1、示例資料2、解決辦法將資料放入Excel新功能Power Query後,寫個公式就搞定了,如下圖所示:
3、公式思路其中的公式看起來很長,但實際思路是很明確的:
1、用Text.Split將文字按空格進行拆分;
2、將拆分後的文字進行批次(List.Transform)轉換:轉為數字(Number.From),加上100,然後再轉回文字(Text.From);
3、將轉換後的內容再用空格合(Text.Combine)。
這裡面沒有複雜燒腦的套路,只要對Power Query裡的函式進行基礎的學習即可。
另外,用Power Query還有一個好處就是,隨著資料來源的改變,只要在結果表裡一鍵重新整理即得最新結果:
-
3 # 小嘟嘟熊
如何把單元格中的多個數字加上100或加上任意一個數,這個問題可用透過excel的一些設定來完成,如果我們每一次都來設定的話就會比較繁瑣,我們可以用vba來寫一個函式,靈活的完成我們的要求,我們先定義一個函式test,給它三個引數,第一個引數是單元格的內容,第二個引數是我們需要加的數字,比如你要加100(任意一個數都可以),第三個是分割的字元有類似【1;2;3】【1,2,3】可以根據實際情況分開。在函式中寫入程式碼:
Public Function Test(ByVal sText As String, _
ByVal addNumber As Integer, ByVal mSplit As String) As String
Dim arr
Dim i As Integer, count As Integer
Dim strText As String
arr = Split(sText, mSplit)
count = UBound(arr)
For i = 0 To count
If IsNumeric(arr(i)) Then
arr(i) = arr(i) + addNumber
End If
strText = strText & arr(i) & mSplit
Next i
Test = Left(strText, Len(strText) - 1)
End Function
這個函式比較簡單,它能對於不是數字的資料就不會相加,執行結果就看下面的圖片吧!
回覆列表
你的意思應該是一個單元格(不叫空格)裡有多個數字,怎樣讓每個數字都加100吧,我來告訴你,過程有點繁瑣,如果資料量大還值得一用,如果就幾行資料,手工改動也許效率更高。
1、如圖,題主說的是這樣的資料吧?
.
2、首先選定這一列資料,執行資料的“分列”操作,分列第一步,選“分隔符號”。
.
3、本例資料間的分隔符號是空格(如果是其它分隔符號,如逗號等就選擇相應的分隔符號),下方資料預覽可以看到資料已經被正確分隔。
.
4、點完成後就得到如下資料。
.
5、然後在相應的區域,將分隔好的資料加100,如圖在E1單元格輸入公式:“=A1+100”,並向下向右複製公式,得到加100後的新資料。
.
6、選中加100後的資料區域,“複製---選擇性貼上”,選“數值”後確定。
.
7、加100後的資料區域的單元格中已經沒有了公式。
.
8、這時就可以將清除老資料(若不做上一步,清除老資料後會出現錯誤)。
.
9、然後在對應的A1單元格輸入公式:=E1&" "&F1&" "&G1&" "&H1,即透過“&”符號將這幾個資料連線起來,中間插入分隔符空格(若是逗號,可將中間的公式引號中的空格換成逗號),向下複製公式。
.
10、再透過“複製---選擇性貼上”,選“數值”後確定,將A列中的公式去掉。
.
11、完成“複製---選擇性貼上”後,A列已經沒有公式。
.
12、最後清除其它過渡資料,就得到一個單元格里的多個數字,每個資料都加了100的結果。
EXCEL菜鳥起航帶您用最基礎的excel操作,應對日常工作,敬請關注!