簡體   English   中英

EXCEL:在單元格中乘以逗號分隔的個位數

[英]EXCEL: Multiplying comma separated single-digit numbers in a cell

我在一個用逗號分隔的單元格中有一個 8 個個位數的字符串。 我需要按照這個確切的特定順序將每個數字乘以 1,2,3,4,5,6,7,8。

如果我有A2= a,b,c,d,e,f,g,h我需要結果B2= (a*1),(b*2),(c*3),(d*4),(e*5),(f*6),(g*7),(h*8)

例如A2=1,2,3,4,5,6,7,8 => B2=1,4,9,16,25,36,49,64

我已經制定了這個公式 -

=LEFT(MID(A2,1,1)*1&","&MID(A2,3,1)*2&","&MID(A2,5,1)*3&","&MID(A2,7,1)*4&","&MID(A2,9,1)*5&","&MID(A2,11,1)*6&","&MID(A2,13,1)*7&","&MID(A2,15,1)*8,LEN(A2))

它確實適用於前幾個數字,但我認為這在處理所有數字時遇到了麻煩。 如果我輸入0,0,0,0,0,0,0,1它工作正常

但是如果我輸入0,0,0,0,0,2,2,2 ,我會得到0,0,0,0,0,12,14 (這只有 7 個結果)

1,2,3,4,5,6,7,8 只有 6 個結果。

我最近才開始學習 excel,任何幫助將不勝感激。

在 Office 365 中,我們使用 FILTERXML 和 SUBSTITUTE 創建數字數組。 然后使用 TEXTJOIN 在使用 SEQUENCE 創建一個1,2,3,...的數組並相乘后,我們將它們重新組合成一個字符串。 使用了 LET,所以我們不需要重復長的 FILTERXML:

=LET(num,FILTERXML("<t><s>"&SUBSTITUTE(A2,",","</s><s>")&"</s></t>","//s"),TEXTJOIN(",",,num*SEQUENCE(COUNT(num))))

此版本不關心字符串中有多少個數字。

在此處輸入圖像描述


你這樣做的原因是LEFT(...,LEN(A2)) 它只返回與原始字符相同數量的字符。 刪除該部分,不需要它:

=MID(A2,1,1)*1&"," &MID(A2,3,1)*2&","&MID(A2,5,1)*3&","&MID(A2,7,1)*4&","&MID(A2,9,1)*5&","&MID(A2,11,1)*6&","&MID(A2,13,1)*7&","&MID(A2,15,1)*8

在此處輸入圖像描述

暫無
暫無

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

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