国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

當前位置:雨林木風下載站 > 辦公軟件教程 > 詳細頁面

Excel公式技巧:將所有數字分別提取到不同的單元格

Excel公式技巧:將所有數字分別提取到不同的單元格

更新時間:2023-12-20 文章作者:未知 信息來源:網絡 閱讀次數:

Microsoft Excel是Microsoft為使用Windows和Apple Macintosh操作系統的電腦編寫的一款電子表格軟件。直觀的界面、出色的計算功能和圖表工具,再加上成功的市場營銷,使Excel成為最流行的個人計算機數據處理軟件。

本文研究從字符串中提取所有數字的技術:

1. 字符串由數字、字母和特殊字符組成

2. 數字在字符串的任意地方

3. 字符串中的小數也一樣提取

3. 想要的結果是將所有數字返回獨立的單元格

例如,在單元格A1中的字符串:

81;8.75>@5279@4.=45>A?A;

返回:

單元格B1:81

單元格C1:8.75

單元格D1:5279

單元格E1:4

單元格F1:45

解決方案

首先,確;顒訂卧裉幱诠ぷ鞅硇1中,然后定義下面兩個名稱。

名稱:Arry1

引用位置:=ROW(INDIRECT(“1:”&LEN(“α”&$A1&”α0”)-1))

名稱:Arry2

引用位置:=MMULT(0+(ABS(51.5-CODE(MID(SUBSTITUTE(“α”&$A1&”α0″,”/”,”α”),Arry1+{0,1},1)))>6)*{2,1},{1;1})

在單元格B1中輸入數組公式:

=IFERROR(0+MID(“α”& $A1 &”α0″,1+SMALL(IF(Arry2=2,Arry1),COLUMNS($A:A)),SUM(SMALL(IF(ISNUMBER(MATCH(Arry2,{1,2},0)),Arry1),2*COLUMNS($A:A)+{-1,0})*{-1,1})),””)

向右拖放直至出現空單元格為止。

原理解析

1. 先看看這兩個定義的名稱。對于Arry1:

=ROW(INDIRECT(“1:”&LEN(“α”&$A1&”α0”)-1))

生成由整數構成的數組。注意,在單元格A1的字符串前面添加了一個非數字字符“α”,在末尾添加了一個非數字字符和一個數字“α0”。為什么這樣處理?具體原因在后文詳述。

上述公式轉換為:

=ROW(INDIRECT(“1:”&27-1))

結果為:

{1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;18;19;20;21;22;23;24;25;26}

2. 對于Arry2:

=MMULT(0+(ABS(51.5-CODE(MID(SUBSTITUTE(“α”&$A1&”α0″,”/”,”α”),Arry1+{0,1},1)))>6)*{2,1},{1;1})

(1)公式通過引用ASCⅡ字符代碼來測試單元格A1里的數字。

(2)要識別數字子字符串,必須找到字符串里兩個不同的位置:一個對應著數字的起始位置,另一個對應著數字的結束位置。

(3)公式中的第一部分將給MID函數提供參數start_num,在生成的結果之間的減法提供相應的參數num_chars。

(4)對于0-9范圍的整數的ASCⅡ編碼從48到57,小數點是46。因此,如果首先從字符串中排除與ASCⅡ編碼47相對應的任何字符(“/”),那么可以確定字符串中ASCⅡ編碼在46-57范圍內的任何字符要么是數字要么是小數點。

(5)使用字符的ASCⅡ編碼減51.5,判斷其結果的絕對值,如果小于或等于6,則可以判斷該字符是數字或小數點。(這里運用的技巧等價于通常要使用的兩個單獨的條件判斷,即一個來比較ASCⅡ編碼大于45,另一個來比較ASCⅡ編碼小于58。)

(6)注意,為了發現數字的開始位置和結束位置,這里查找字符串里的兩對字符:一對中的第一個字符是非數字字符而第二個是數字字符(提供數字字符串的開始),另一對中的第一個字符是數字字符而第二個是非數字字符(提供數字字符串的結尾)。

(7)當然,如果字符串中的第一個或最后一個字符與上述標準相符,那么需要確保有一些字符在它們的前面或后面,這就是我們在A1的開頭和結尾連接合適的字符串的原因。于是,就有了你所看見的”α”&和&”α0″。

這樣,Arry2公式轉換為:

MMULT(0+(ABS(51.5-CODE(MID(SUBSTITUTE(“α81;8.75>@5279@4.=45>A?A;α0″,”/”,”α”),Arry1+{0,1},1)))>6)*{2,1},{1;1})

轉換為:

MMULT(0+(ABS(51.5-CODE(MID(“α81;8.75>@5279@4.=45>A?A;α0”,Arry1+{0,1},1)))>6)*{2,1},{1;1})

將Arry1代入,得到:

MMULT(0+(ABS(51.5-CODE(MID(“α81;8.75>@5279@4.=45>A?A;α0”,{1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;18;19;20;21;22;23;24}+{0,1},1)))>6)*{2,1},{1;1})

接下來是值得關注的技術之一。因為希望從字符串里考慮成對的字符,所以需要將字符串里位置1中的字符和位置2中的字符比較、位置2中的字符和位置3中的字符比較,依此類推。為了實現這個目的,需要生成傳遞給MID函數作為參數start_num的數組:{1,2;2,3;3,4;4,5;5,6;…}。

由于Arry1為{1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;18;19;20;21;22;23;24},是一個24行1列的數組,將其與一個1行2列的數組{0,1}相加,結果是一個24行2列的數組:

MMULT(0+(ABS(51.5-CODE(MID(“α81;8.75>@5279@4.=45>A?A;α0”,{1,2;2,3;3,4;4,5;5,6;6,7;7,8;8,9;9,10;10,11;11,12;12,13;13,14;14,15;15,16;16,17;17,18;18,19;19,20;20,21;21,22;22,23;23,24;24,25},1)))>6)*{2,1},{1;1})

轉換為:

MMULT(0+(ABS(51.5-CODE({“α”,”8″;”8″,”1″;”1″,”;”;”;”,”8″;”8″,”.”;”.”,”7″;”7″,”5″;”5″,”>”;”>”,”@”;”@”,”5″;”5″,”2″;”2″,”7″;”7″,”9″;”9″,”@”;”@”,”4″;”4″,”.”;”.”,”=”;”=”,”4″;”4″,”5″;”5″,”>”;”>”,”A”;”A”,”?”;”?”,”A”;”A”,”;”}))>6)*{2,1},{1;1})

轉換為:

MMULT(0+(ABS(51.5-{63,56;56,49;49,59;59,56;56,46;46,55;55,53;53,62;62,64;64,53;53,50;50,55;55,57;57,64;64,52;52,46;46,61;61,52;52,53;53,62;62,65;65,63;63,65;65,59})>6)*{2,1},{1;1})

轉換為:

MMULT(0+({11.5,4.5;4.5,2.5;2.5,7.5;7.5,4.5;4.5,5.5;5.5,3.5;3.5,1.5;1.5,10.5;10.5,12.5;12.5,1.5;1.5,1.5;1.5,3.5;3.5,5.5;5.5,12.5;12.5,0.5;0.5,5.5;5.5,9.5;9.5,0.5;0.5,1.5;1.5,10.5;10.5,13.5;13.5,11.5;11.5,13.5;13.5,7.5}>6)*{2,1},{1;1})

轉換為:

MMULT({1,0;0,0;0,1;1,0;0,0;0,0;0,0;0,1;1,1;1,0;0,0;0,0;0,0;0,1;1,0;0,0;0,1;1,0;0,0;0,1;1,1;1,1;1,1;1,1}*{2,1},{1;1})

下面來看看現在得到的這個數組中的值代表的意思,我們高亮顯示4組數字為例:

{1,0;0,0;0,1;1,0;0,0;0,0;0,0;0,1;1,1;1,0;0,0;0,0;0,0;0,1;1,0;0,0;0,1;1,0;0,0;0,1;1,1;1,1;1,1;1,1}

從MID函數中得到的字符數組:

{“α”,”8″;”8″,”1″;“1”,”;”;”;”,”8″;”8″,”.”;”.”,”7″;”7″,”5″;”5″,”>”;“>”,”@”;”@”,”5″;”5″,”2″;”2″,”7″;”7″,”9″;”9″,”@”;“@”,”4″;”4″,”.”;”.”,”=”;”=”,”4″;“4”,”5″;”5″,”>”;”>”,”A”;”A”,”?”;”?”,”A”;”A”,”;”}

(1)第1個高亮顯示的對是{0,1},相應的字符是{“1”,”;”},因為“1”是數字而“;”不是。

(2)第2個高亮顯示的對是{1,1},相應的字符是{“>”,”@”},因為”>”和”@”都不是數字。

(3)第3個高亮顯示的對是{1,0},相應的字符是{“@”,”4″},由非數字和數字組成。

(4)第4個高亮顯示的對是{0,0},相應的字符是{“4″,”5”},都是數字。

現在需要一種方法來區分這4對,等價于:

{0,0}:該對中的兩個都是數字

{1,0}:該對中第一個是非數字,第二個是數字

{0,1}:該對中第一個是數字,第二個是非數字

{1,1}:該對中的兩個都是非數字

顯然,我們感興趣的是中間的兩對,因為這告訴我們字符串中數字與非數字的交界點。為此,將得到的由0/1組成的數組乘以一個由兩個元素(2和1)組成的1行2列的數組。這樣,公式轉換為:

MMULT({2,0;0,0;0,1;2,0;0,0;0,0;0,0;0,1;2,1;2,0;0,0;0,0;0,0;0,1;2,0;0,0;0,1;2,0;0,0;0,1;2,1;2,1;2,1;2,1},{1;1})

得到:

{2;0;1;2;0;0;0;1;3;2;0;0;0;1;2;0;1;2;0;1;3;3;3;3}

數組中的0-3對應于上述四對組合。例如,得到3的唯一方式是1加2,而乘以{2,1}后得到由1和2組成的數組的對是{1,1},其中的值都是非數字,因此3代表的都是非數字;值2來源于{2,1}乘以{1,0},代表非數字后跟著一個數字;值1來源于{2,1}乘以{0,1},代表數字后跟著一個非數字,等等。

因此,Arry2后生成的數組讓我們可以知道字符串中的字符從數字變為非數字或者從非數字變為數字的位置。

3. 現在來看看單元格B1中的公式:

=IFERROR(0+MID(“α” & $A1& “α0″,1+SMALL(IF(Arry2=2,Arry1),COLUMNS($A:A)),SUM(SMALL(IF(ISNUMBER(MATCH(Arry2,{1,2},0)),Arry1),2*COLUMNS($A:A)+{-1,0})*{-1,1})),””)

看看這里傳遞給MID函數的兩個參數。要提取的字符串的起始位置參數start_num:

1+SMALL(IF(Arry2=2,Arry1),COLUMNS($A:A))

可以看到,我們基于Arry2等于2創建了一個數組,對應著由非數字字符和數字字符組成的對,即:

1+SMALL(IF({2;0;1;2;0;0;0;1;3;2;0;0;0;1;2;0;1;2;0;1;3;3;3;3}=2,{1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;18;19;20;21;22;23;24}),COLUMNS($A:A))

轉換為:

1+SMALL(IF({TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE},{1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;18;19;20;21;22;23;24}),COLUMNS($A:A))

轉換為:

1+SMALL({1;FALSE;FALSE;4;FALSE;FALSE;FALSE;FALSE;FALSE;10;FALSE;FALSE;FALSE;FALSE;15;FALSE;FALSE;18;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE},COLUMNS($A:A))

可以看到,生成的數組中的數值1、4、10、15、18分別為指定字符串中每個數字的起始位置。在B1中,COLUMNS函數返回1,公式可轉換為:

1+SMALL({1;FALSE;FALSE;4;FALSE;FALSE;FALSE;FALSE;FALSE;10;FALSE;FALSE;FALSE;FALSE;15;FALSE;FALSE;18;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE},1)

結果為(因為我們事先在A1中的字符串之前添加了一個字符):

2

對于傳遞給MID函數的獲取要提取的字符數的參數num_char:

SUM(SMALL(IF(ISNUMBER(MATCH(Arry2,{1,2},0)),Arry1),2*COLUMNS($A:A)+{-1,0})*{-1,1})

我們對Arry2中的值1或2感興趣,因為它們對應著字符串中的非數字/數字對。

要確定提取的每個子字符串的長度,需要計算每個連續的非數字/數字和數字/非數字的間隔之間的字符數,因為它們代表每組連續數字的開始和結束位置。將Arry2值代入后,上述公式轉換為:

=SUM(SMALL(IF(ISNUMBER(MATCH({2;0;1;2;0;0;0;1;3;2;0;0;0;1;2;0;1;2;0;1;3;3;3;3},{1,2},0)),Arry1),2*COLUMNS($A:A)+{-1,0})*{-1,1})

轉換為:

=SUM(SMALL(IF(ISNUMBER({2;#N/A;1;2;#N/A;#N/A;#N/A;1;#N/A;2;#N/A;#N/A;#N/A;1;2;#N/A;1;2;#N/A;1;#N/A;#N/A;#N/A;#N/A}),Arry1),2*COLUMNS($A:A)+{-1,0})*{-1,1})

轉換為:

=SUM(SMALL(IF({TRUE;FALSE;TRUE;TRUE;FALSE;FALSE;FALSE;TRUE;FALSE;TRUE;FALSE;FALSE;FALSE;TRUE;TRUE;FALSE;TRUE;TRUE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE},Arry1),2*COLUMNS($A:A)+{-1,0})*{-1,1})

代入Arry1的值:

=SUM(SMALL(IF({TRUE;FALSE;TRUE;TRUE;FALSE;FALSE;FALSE;TRUE;FALSE;TRUE;FALSE;FALSE;FALSE;TRUE;TRUE;FALSE;TRUE;TRUE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE},{1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;18;19;20;21;22;23;24}),2*COLUMNS($A:A)+{-1,0})*{-1,1})

轉換為:

=SUM(SMALL({1;FALSE;3;4;FALSE;FALSE;FALSE;8;FALSE;10;FALSE;FALSE;FALSE;14;15;FALSE;17;18;FALSE;20;FALSE;FALSE;FALSE;FALSE},2*COLUMNS($A:A)+{-1,0})*{-1,1})

上面生成的數組中的數值代表著字符串中從非數字到數字或者從數字到非數字的位置。

現在,需要指定SMALL函數的參數k,當我們向右拖拉公式時可以提取一對相應位置的數字。第一對是第1和第2個值,即1和3;第二對是第3和第4個值,即4和8;依此類推。然后,由每一對中第2個值減去第1個值得到想要的長度。因此,在B1中,公式可轉換為:

=SUM(SMALL({1;FALSE;3;4;FALSE;FALSE;FALSE;8;FALSE;10;FALSE;FALSE;FALSE;14;15;FALSE;17;18;FALSE;20;FALSE;FALSE;FALSE;FALSE},2*1+{-1,0})*{-1,1})

轉換為:

=SUM(SMALL({1;FALSE;3;4;FALSE;FALSE;FALSE;8;FALSE;10;FALSE;FALSE;FALSE;14;15;FALSE;17;18;FALSE;20;FALSE;FALSE;FALSE;FALSE},{1,2})*{-1,1})

轉換為:

=SUM({1,3}*{-1,1})

轉換為:

=SUM({-1,3})

得到:

2

我們將上面的中間結果代入單元格B1的公式:

=IFERROR(0+MID(“α”&$A1,2,2),””)

轉換為:

=IFERROR(0+MID(“α81;8.75>@5279@4.=45>A?A;”,2,2),””)

轉換為:

=IFERROR(0+”81″,””)

結果為:

81

值得一提的是,這個公式也適用于提取任何字母數混合的字符串中的數字。雖然平時從字符串中提取多個連續的數字的需求并不常見,但該技術仍然值得細細研究。


Excel整體界面趨于平面化,顯得清新簡潔。流暢的動畫和平滑的過渡,帶來不同以往的使用體驗。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

  • <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        免费久久精品视频| 自拍偷自拍亚洲精品播放| 日韩免费视频线观看| 亚洲成a人片在线观看中文| 欧美日韩一区中文字幕| 免费观看成人av| 久久精品人人做| 国产成人综合网站| 国产精品久久久久久久岛一牛影视 | 丰满亚洲少妇av| 欧美高清视频不卡网| 奇米影视一区二区三区| 日韩一区二区三区精品视频| 韩国精品免费视频| 中文字幕一区二区三区蜜月 | 香蕉影视欧美成人| 欧美一区二区成人6969| 国产一区二区女| 亚洲区小说区图片区qvod| 欧美一区二区视频观看视频| 精品一区二区免费在线观看| 国产精品视频第一区| 欧美videossexotv100| 日本一区中文字幕| 亚洲精品成人精品456| 韩国欧美国产1区| 日韩欧美一区二区不卡| 成人美女视频在线观看| 亚洲成人av一区二区三区| 久久综合色8888| 欧美在线播放高清精品| 国产大陆精品国产| 久久丁香综合五月国产三级网站| 亚洲男人电影天堂| 久久精品人人做| 26uuu成人网一区二区三区| 欧美日韩一区二区在线观看| 欧美精品第一页| 精品国产一区二区在线观看| 91片在线免费观看| 激情综合网天天干| 天天色综合成人网| 亚洲伦理在线免费看| 国产偷v国产偷v亚洲高清| 日韩免费电影一区| 9191精品国产综合久久久久久| 波多野结衣在线一区| 国内精品国产三级国产a久久| 亚洲成人免费av| 一区二区三区四区高清精品免费观看| 久久免费看少妇高潮| 精品入口麻豆88视频| 欧美一卡二卡三卡| 欧美一激情一区二区三区| 精品一区二区日韩| 色综合久久久久网| 91在线观看污| 91亚洲精品一区二区乱码| 豆国产96在线|亚洲| 国产麻豆91精品| 国产成人精品三级麻豆| 国产成人日日夜夜| 大桥未久av一区二区三区中文| 精品在线播放免费| 国产福利电影一区二区三区| 国产另类ts人妖一区二区| 国产一区二区三区久久久| 国产91在线看| 色综合久久天天| 欧美午夜一区二区三区| 51午夜精品国产| 精品国产髙清在线看国产毛片| 久久先锋影音av鲁色资源网| 国产人成亚洲第一网站在线播放 | 欧美日韩高清影院| 欧美日韩激情一区二区| 日韩一级视频免费观看在线| 精品88久久久久88久久久| 中文字幕精品一区二区三区精品| 中文字幕一区二区三区av| 视频一区二区不卡| 成人美女在线视频| 欧美日韩一区久久| 国产丝袜在线精品| 亚洲图片欧美视频| 国产精品一区二区在线看| 99riav一区二区三区| 欧美精品一卡二卡| 国产精品网曝门| 日韩黄色片在线观看| 成人精品一区二区三区中文字幕| 成人污视频在线观看| 成人一二三区视频| 亚洲国产中文字幕| 欧美国产精品一区| 日韩主播视频在线| 国产精品自拍在线| 欧美性大战久久久久久久蜜臀| 欧美日韩国产综合视频在线观看| 精品日韩99亚洲| 亚洲国产视频一区| 不卡电影一区二区三区| 日韩视频在线你懂得| 国产精品久久二区二区| 老司机精品视频在线| 91在线视频18| 日本一区二区动态图| 久久精品国产精品亚洲精品| 91网站视频在线观看| 国产三级欧美三级日产三级99| 亚洲成人免费影院| 色综合一个色综合| 91精品婷婷国产综合久久竹菊| 91福利视频久久久久| 欧美二区在线观看| 亚洲精品国产无天堂网2021 | 久久理论电影网| 亚洲成a人v欧美综合天堂| 粉嫩久久99精品久久久久久夜| 欧美一区二区三区思思人| 亚洲青青青在线视频| 成人免费观看视频| 久久先锋资源网| 国模冰冰炮一区二区| 欧美日韩日日摸| 香港成人在线视频| 欧美午夜精品久久久久久孕妇| 国产精品久久久久久久蜜臀| 国产乱码精品一区二区三区av| 日韩免费一区二区三区在线播放| 天堂蜜桃91精品| 欧美一级理论片| 精品制服美女久久| 久久久影视传媒| 丁香一区二区三区| 国产精品福利一区| 91久久精品日日躁夜夜躁欧美| 自拍av一区二区三区| 一本色道久久综合亚洲aⅴ蜜桃| 亚洲人亚洲人成电影网站色| 99久久精品国产一区二区三区| 国产欧美日韩激情| 波多野结衣91| 亚洲一二三四在线| 日韩欧美视频一区| 国产一区二区三区不卡在线观看| 日本一区二区免费在线观看视频| 国产iv一区二区三区| 中文字幕va一区二区三区| 色婷婷av久久久久久久| 亚洲国产日产av| 欧美r级在线观看| www.色综合.com| 日韩精品一级二级 | 日本伊人色综合网| 久久精品亚洲麻豆av一区二区| 成人爽a毛片一区二区免费| 亚洲靠逼com| 欧美大片日本大片免费观看| 国产成人啪免费观看软件| 亚洲欧美日韩在线播放| 欧美日韩一区不卡| 国产乱码精品一品二品| 亚洲在线中文字幕| 久久综合色鬼综合色| 欧美性生活久久| 国产福利视频一区二区三区| 亚洲最新视频在线观看| 欧美xxxxx牲另类人与| 99久久精品国产麻豆演员表| 日韩一区精品视频| 亚洲色图丝袜美腿| 欧美精品一区二区三区一线天视频| 不卡免费追剧大全电视剧网站| 视频在线观看91| 亚洲精品久久嫩草网站秘色| 精品久久久久久亚洲综合网 | 国产精品中文有码| 亚洲国产日韩在线一区模特| 国产日韩欧美一区二区三区综合| 欧美调教femdomvk| 成人久久18免费网站麻豆| 日本一道高清亚洲日美韩| 一二三四社区欧美黄| 中文在线资源观看网站视频免费不卡| 在线播放日韩导航| 在线观看亚洲一区| gogo大胆日本视频一区| 九九热在线视频观看这里只有精品| 亚洲免费av高清| 国产精品乱码人人做人人爱| 精品国产1区二区| 欧美精品电影在线播放| 91成人在线精品| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 亚洲免费观看视频| 国产精品色在线观看| 久久久久高清精品| 精品免费一区二区三区| 欧美高清dvd|