欧美XXXXHD 高清,激情五月开心综合亚洲,亚洲人成人伊人成综合网无码 http://www.qjsdgw.cn Mon, 13 Feb 2023 08:18:50 +0000 zh-Hans hourly 1 https://wordpress.org/?v=6.8.3 http://www.qjsdgw.cn/wp-content/uploads/2022/03/ico.png 函數(shù) – V商人 http://www.qjsdgw.cn 32 32 c程序設(shè)計期末考試題及答案,c程序設(shè)計中為什么使用函數(shù)? http://www.qjsdgw.cn/140197.html Mon, 13 Feb 2023 08:18:47 +0000 http://www.qjsdgw.cn/?p=140197

第一節(jié)課我們先了解C語言的一些基本常識和概念性;作為一個純小白,首次接觸編程需要做好一些心理準(zhǔn)備,消除一些思想上的誤區(qū),避免一些彎路;然后準(zhǔn)備好硬件設(shè)備(電腦)和軟件(代碼編輯器、編譯器等),順便體驗敲一段代碼和編譯運行的快感。

注意,請認(rèn)真學(xué)習(xí)完《C程序設(shè)計(第五版)》第一章后再閱讀本文會有更大的收獲。

程序和編程語言

計算機(jī)是由各種硬件組成,而讓這些硬件工作靠的是程序。程序是一個總稱,它由N多條的指令構(gòu)成,每一條單獨的指令去和硬件交互直至執(zhí)行完所有的指令——執(zhí)行完整個程序,最終輸出結(jié)果。明白程序的基本概念后,是不是覺得寫一個程序很簡單?就是把一堆指令湊在一起,so easy?

但是計算機(jī)畢竟不是人,它只能識別它自己的語言——機(jī)器語言,就是二進(jìn)制代碼,由0和1組成,可長可短,隨意組合。如果把我們?nèi)粘5男袨椴僮髦噶疃嫁D(zhuǎn)換成二進(jìn)制,那可太費事了,所以經(jīng)過人們的不斷探索和迭代,更加高級的“指令”誕生了。所謂高級,指的是和我們?nèi)说男袨榱?xí)慣保持一致,不用把指令轉(zhuǎn)換成二進(jìn)制,就像現(xiàn)實世界人與人交流一樣去編寫“指令”——高級編程語言的代碼,在機(jī)器執(zhí)行這些高級代碼之前通過編譯器把它們編譯成機(jī)器識別的二進(jìn)制即可,這樣大大提高了編程的效率和程序的可移植性。

C語言幾點說明

C語言是高級語言嗎

C語言是高級語言。我們通常講的高級語言是相對于匯編語言來說,不直接和底層硬件打交道;但是C語言自身又可以去做底層硬件的開發(fā),比如驅(qū)動程序、單片機(jī)系統(tǒng)開發(fā),這又讓C語言顯得不那么高級。

時至今日,隨著編程語言的不斷發(fā)展,和人交互更加自然流暢的語言我們成為高級,但是他們大多數(shù)底層的實現(xiàn)還是靠C語言的,學(xué)好了C,你也可以開發(fā)出更高級的語言。

C語言有什么用處

C語言是偏后端的語言,不像前端那樣學(xué)習(xí)很快就能看到網(wǎng)頁、APP界面那樣有成就感,看起來好像離我們挺遠(yuǎn)。

那C語言究竟能做什么呢?往大了說,可以開發(fā)操作系統(tǒng),可以開發(fā)出其他高級語言,做硬件驅(qū)動開發(fā);往小了說,可以做個GUI軟件(有圖形界面的軟件),幫我們算一道數(shù)學(xué)題。

其實,作為現(xiàn)代編程語言的基礎(chǔ),學(xué)習(xí)C語言能更好的讓我們了解計算機(jī)系統(tǒng),也能更好地去學(xué)習(xí)更高級的編程語言。以C語言作為學(xué)習(xí)編程的入門語言,你肯定不會吃虧,會讓你今后在編程上的學(xué)習(xí)受益終身。

C語言要背代碼嗎

任何編程語言的學(xué)習(xí)都不要背代碼。學(xué)編程不是靠背,一些語法規(guī)則,控制結(jié)構(gòu)在你熟練之后會得心應(yīng)手,通篇背代碼除了應(yīng)付一下考試之外別無用處。甚至你也不用刻意去死記硬背一些常用的庫和原生的函數(shù)等,編程是為了解決問題,不是純粹為了編程而編程。

工作中,在做項目寫代碼的時候,沒有人能打包票什么函數(shù)都能記得住,什么類庫都能得心應(yīng)手的使用;往往大部分時間花在技術(shù)調(diào)研,Google搜索和瀏覽一些技術(shù)社區(qū)上。既然不背代碼那背什么呢?答案記住編程思路,轉(zhuǎn)換為己用。

C語言學(xué)習(xí)難嗎

對于初學(xué)者來說,學(xué)習(xí)一個全新的技能尤其是虛擬世界觸碰不到的都會有相當(dāng)?shù)睦щy。但是只要堅定信念,踏實學(xué)習(xí),不要以應(yīng)付考試為目的,帶著興趣去學(xué),按照書本的學(xué)習(xí)路線進(jìn)行下去不會有太大的障礙。過程中會牽扯一些計算機(jī)特有的概念和知識點,要多去了解和探索,知其然更要知其所以然,對未知領(lǐng)域有渴求和探索欲,“難”不在話下。

硬件和軟件的準(zhǔn)備

硬件

普通臺式電腦或者筆記本都可以。Windows 系統(tǒng)或者 Mac 系統(tǒng)均可。

軟件

去windows官網(wǎng)下載Visual Studio:https://visualstudio.microsoft.com/zh-hans/,它自帶編譯環(huán)境,不用我們手動再去配置,這個對初學(xué)者來說很友好,通常軟件環(huán)境的搭建就會把一小部分人勸退了。

安裝選擇 Community 個人免費版即可,過程中勾選“使用C++的桌面開發(fā)”,更加詳細(xì)的安裝教程請自行網(wǎng)絡(luò)搜索。

安裝Visual Studio

勾選“使用C++的桌面開發(fā)”

PS:注意更改一下安裝目錄,軟件體積較大,默認(rèn)安裝在系統(tǒng)盤。

Hello World

按照國際慣例我們寫一個簡單的輸出“Hello World”程序。新建一個空白項目,然后在源文件里添加“新建項”,選擇“C++文件(.cpp)”,起名helloWorld改后綴為.c,編輯helloWorld.c文件。

添加新建項

新建helloWorld.c文件

編寫代碼

運行輸出

怎樣,有趣好玩不?如果此刻激發(fā)了你對C語言、編程的興趣,那就動手實操一下吧。

往期文章

C程序設(shè)計(譚浩強(qiáng))——第五版和第三版對比

]]>
用vlookup函數(shù)提取另一個表格數(shù)據(jù)時提示超出列,不用vlookup函數(shù)從另一個表格中提取數(shù)據(jù) http://www.qjsdgw.cn/98110.html Sat, 03 Sep 2022 21:46:31 +0000 http://www.qjsdgw.cn/?p=98110 EXCEL中函數(shù)“VOLLKUP”是廣泛應(yīng)用的函數(shù),很多時候都會用到這個函數(shù),多個表之間可以快速匹配數(shù)據(jù)

需求:要把表2里面的成本、倉位這兩列的值匹配到表1里面,用“VOLLKUP”我們就可以做到快速表2數(shù)據(jù)匹配到表1里面

表1:這里有編號、商品名稱、庫存數(shù)量這三個字段

表1

表2:這里有編號、商品名稱、鎖定數(shù)量、成本、倉位這五個字段

表2

表1、表2里面有兩個共同的字段,那就是編號和商品名稱。那我們就可以將編號或者商品名稱作為引用值,基于它來做匹配,這里我們用編號字段做引用。紅色框是兩張表里面共同的字段,綠色框表示要匹配的值。

表1、表2

下表函數(shù)=VLOOKUP(A2,表2!A:E,4,0),拆分解釋?A2?、?表2!A:E?、?4?、?0?

?A2?:用編號做為引用值,我們要把A2編號這個商品在表2里面對應(yīng)的成本的值引過來,所以A2要做為引用值

?表2!A:E?:查找的數(shù)據(jù)區(qū)域,我們要從表2的A列到E列區(qū)間里面去匹配需要的值

?4?:我們要匹配到表1的值是從表2里面的第四列去取數(shù)(從A列往右數(shù)第四列,也就是成本這一列)

?0?:是精確匹配,引用值是一樣的才做匹配

結(jié)果:表2里面也有一個商品編號是=A2值(199249)的商品,它的成本在表2是0.65,所以按公式匹配出來到表1里面成本就是0.65

VLOOKUP函數(shù)

匹配出來后,鼠標(biāo)左鍵按住單元格右下角“+”標(biāo)記往下拉就按同樣的規(guī)則全部匹配出來了,或者鼠標(biāo)雙擊“+”也可以。

匹配結(jié)果

同理,要把表2里面跟表1里面商品編號一樣的商品的倉位這個字段的值匹配到表1里面來。函數(shù)=VLOOKUP(A2,表2!A:F,5,0)

匹配結(jié)果

表1?A2?做為引導(dǎo)值,從表2里面A列到F列里面的數(shù)據(jù)區(qū)域找,表2里面第五列(從A列開始往右數(shù))的數(shù)值匹配的表1里面,前提是商品編號要一致的情況下,0是做精確匹配。

匹配出來出現(xiàn)“#N/A”表示這個商品編號在表2里面找不到這個編號,表2里面沒有同樣編號的商品在,所以自然就匹配不出來數(shù)據(jù),就顯示“#N/A”

#N/A

]]>
構(gòu)成c語言程序的基本單位是什么它由哪幾部分組成(構(gòu)成c語言程序的基本單位是什么所有函數(shù)名) http://www.qjsdgw.cn/73903.html Mon, 08 Aug 2022 18:38:24 +0000 http://www.qjsdgw.cn/?p=73903 大一c語言試題

一、單項選擇題(每小題2分,共50分)

1、一個C程序的執(zhí)行是從___A__。

A、本程序的main函數(shù)開始,到main函數(shù)結(jié)束

B、本程序的main函數(shù)開始,到本程序文件的最后一個函數(shù)結(jié)束

C、本程序文件的第一個函數(shù)開始,到本程序文件的最后一個函數(shù)結(jié)束

D、本程序文件的第一個函數(shù)開始,到本程序main函數(shù)結(jié)束

2、C語言程序的基本單位是___C___。

A、程序行 B、語句

C、函數(shù) D、字符

3、請選出可用作C語言用戶標(biāo)識符的一組標(biāo)識符___B___。

A、void B、a3_b3 C、For D、2a

define _123 -abc DO

WORD IF ase sizeof

4、假定x和y為double型,則表達(dá)式(x=2,y=x+5/2)的值是__C__ 。

A、4.500000 B、4

C、4.000000 D、2.000000

5、下列可以正確表示字符型常量的是___D__。

A、297 B、"a"

C、"\n" D、'\t'

6、在C語言中,要求運算數(shù)必須是整型的運算符是__D__。

A、/ B、++

C、*= D、%

7、C語言中,復(fù)合語句的構(gòu)成是將一系列語句置于__C__。

A、begin與end之間

B、方框號“[ ]”之間

C、花括號“{ }”之間

D、圓括號“( )”之間

8、有如下程序段,對應(yīng)正確的數(shù)據(jù)輸入是___A___。

float x,y;

scanf(”%f%f”, &x,&y);

printf(”a=%f,b=%f”, x,y);

A、2.04<回車> B、2.04,5.67<回車>

5.67<回車>

C、A=2.04,B=5.67<回車> D、2.045.67<回車>

9、以下程序段的輸出結(jié)果是___D__。

int a=5678;

printf(”%2d\n”, a);

A、提示出錯、無結(jié)果 B、56

C、78 D、5678

10、已知:char ch='A';則下列表達(dá)式的值是__B__。

ch = (ch>='A'&&ch<='Z') ? (ch+32) : ch;

A、A B、a C、Z D、z

11、下列描述,正確的是___B__ 。

A、表達(dá)式3.91%5是合法的

B、用b=89作為while循環(huán)的條件是合法的

C、逗號表達(dá)式是沒有值和類型的

D、字符型變量和int型變量的操作完全不同

12、閱讀以下程序:

main()

{int x;

scanf("%d",&x);

if(x–<5) printf("%d",x);

else printf("%d",x++);

}

程序運行后,如果從鍵盤上輸人5,則輸出結(jié)果是__B__ 。

A、3 B、 4 C、 5 D、 6

13、下列程序的運行結(jié)果是___C__。

#include ”stdio.h”

main()

{ int k;

k=3;

switch(k)

{ case 1: printf(”%d\n”, k++);

case 2: printf(”%d\n”, k++);

case 3: printf(”%d\n”, k++);

case 4: printf(”%d\n”, k++);

break;

default: printf(”Full!\n”);

}

}

A、3 B、4 C、3 D、4

4 4

14、設(shè)a、b、c、d、m、n均為int型變量,且a=5、b=6、c=7、d=8、

m=2、n=1,則邏輯表達(dá)式(m==a<b)&&(n==c<d) 的值為__A__。

A、0 B、 1 C、2 D、 3

15、設(shè)x、y和temp均為long int型變量,則以下語句:

{temp=x; x=y; y=temp;} 的功能是__D__。

A、把x和y按從大到小排列

B、把x和y按從小到大排列

C、無確定結(jié)果

D、交換變量x和變量y的值

16、以下程序的輸出結(jié)果是 ___A__ 。

main()

{int a, b;

for(a=1, b=1; a<=100; a++)

{if(b>=10) break;

if (b%3==1)

{ b+=3; continue; }

}

printf("%d\n",a);

}

A、4 B、6 C、5 D、101

17、執(zhí)行以下程序后輸出的結(jié)果是___D__。

main()

{ int y=10;

do {y–;}

while(–y);

printf("%d\n",y–);}

A、-1 B、1 C、8 D、0

18、執(zhí)行以下程序后輸出的結(jié)果是___B__。

main()

{int i, j, w=0;

for(i=4; i; i–)

for(j=1;j<=2;j++)

w=w+i*j; w=i*j;

printf("%d\n",w);

}

A、4 B、0 C、1 D、30

19、以下程序運行后,輸出結(jié)果是__C__。

main()

{

int n[5]={3,3,3},i,k=2;

for(i=0;i<k;i++) n[i]=n[i]+1;

printf("%d\n",n[k]);

}

A、4 B、9 C、3 D、不確定的值

20、以下程序的輸出結(jié)果是 __A__ 。

f ( int a)

{int b=0;

static int c = 3;

b++; c++;

return(a+b+c);

}

main()

{int a = 2, i;

for(i=0;i<3;i++) printf("%d\n",f(a));

}

A、 7 B、 7 C、 7 D、 7

8 9 10 7

9 11 13 7

21、設(shè)C程序如下:

#define ABC(x) x*x

#include"stdio.h"

main()

{int a=3,b;

b=ABC(a+1);

printf("b=%d", b); }

上述程序運行輸出的結(jié)果是__D_ 。

A、b=4 B、b=a+1

C、b=16 D、b=7

22、以下程序的輸出結(jié)果是__B__。

main()

{int i, a[10];

for(i=9;i>=0;i–) a[i]=10-i;

printf("%d %d %d",a[1],a[6],a[9]);

}

A、1 6 9 B、9 4 1

C、9 6 1 D、3 5 7

23、若定義:float x=3.14159,*p=&x;

則printf("%f\n",*p++);的輸出結(jié)果為__C__ 。

A、無確定值 B、x的地址

C、3.14159 D、4.14159

24、以下程序的輸出結(jié)果是___B__

main()

{char b[]="Language";

char *p=b;

printf("%c ",*(b+2));

p=p+7;

printf("%c\n",*p++);

}

A、2 7 B、n e C、a g D、n u

25、下列程序的輸出結(jié)果是___A__。

#include "stdio.h"

main()

{

int a[]={1,2,3,4,5,6,7,8,9,0}, i, s, *p;

p=a;s=0;

for(i=0;i<=9;i++)

s+=*p++;

printf("%d\n", s);

}

A、45 B、44 C、0 D、9

二、判斷題(每小題1分,共10分)

1.語句int *point;中的point是指針變量名。( T )

2.主函數(shù)和其它函數(shù)之間可以相互調(diào)用。( F )

3.puts( )和gets( )函數(shù)只能輸入或輸出一個字符。( F )

4. 可以對字符型數(shù)組元素進(jìn)行整體輸入、輸出。( T )

5.do-while語句構(gòu)成的循環(huán)不能用其他語句構(gòu)成的循環(huán)來代替。( F )

6.在一個函數(shù)內(nèi)的復(fù)合語句中定義的變量可以在本函數(shù)范圍內(nèi)有效。(F )

7.函數(shù)必須有返回值,否則不能使用函數(shù)。( F )

8.for(;;);語句相當(dāng)于while(1);語句。( T )

9.C程序的執(zhí)行總是從第一個定義的函數(shù)開始。( F )

10.C語言中的關(guān)鍵字專門用作語言的特定成分,而不能作為一般標(biāo)識符使用。( T )

三、程序填空題(每空2分,共10分)

1、下面程序完成判斷某一個數(shù)m是否為素數(shù),如果是則輸出"m is a prime!",否則就輸出"m is not a prime!",請選擇填空。

main()

{ int i, m;

scanf("m=%d", &m);

for(i=2; i<m; i++)

{ if(m%i==0)

{ printf("%d is not a prime!\n", m); (1) }

else (2)

}

if(i==m) printf("%d is a prime!\n", m);

}

(1)、 A、break B、continue

C、break; D、continue;

(2)、 A、break B、break;

C、continue D、continue;

2、以下程序的功能是:求出用數(shù)字0至9組成沒有重復(fù)數(shù)字且是13倍數(shù)的三位數(shù)的個數(shù),請選擇填空。

#include<stdio.h>

void main()

{ int i, j, k, w, count = 0;

for( (3) ; i<=9; i++)

for(j=0;j<=9; j++)

for(k=0; k<=9;k++)

if( (4) )

{ w = i*100+j*10+k;

if( (5) )

count++;

}

printf("\n count=%d\n", count);

}

(3)、 A、i=0 B、i=1

C、i=9 D、i=-1

(4)、 A、i!=j B、i!=j ||j!=k

C、i!=j&& j!=k D、i!=j&& j!=k && k!=i

(5)、 A、w%13=0 B、w/13=0

C、w%13==0 D、w/13==0

四、編程題(第1小題12分,第2小題18分,共30分)

1、從鍵盤輸入一個4位數(shù)的正整數(shù)n,將該數(shù)反序輸出。例如,若輸入的是

1357,則輸出的是7531。

  要求:1)利用VC++編譯系統(tǒng)進(jìn)行調(diào)試、運行

2)對輸入的正整數(shù)n的合法性進(jìn)行檢查

3)將源程序以“編程題1.c”為文件名保存在網(wǎng)絡(luò)盤(K:盤)的考生文件夾上,用其它文件名保存或保存在其他地方均不能得分

2、已知一組字符串a(chǎn)[27]="jjyyzzabcdefgJJYYZZABCDEFG"; 請編一程序,將其 中的小寫字母換成其前一個字母,即z換成y,y換成x,…,b換成a,若是a則換成z。然后對數(shù)組a[27]從小到大排序,并輸出排序后的字符串。

要求:1)利用VC++編譯系統(tǒng)進(jìn)行調(diào)試、運行

2)先輸出原字符串(即未做任何改變的字符串),最后輸出排序后

的字符串

3)將源程序以“編程題2.c”為文件名保存在網(wǎng)絡(luò)盤(K:盤)的考生文件夾上,用其它文件名保存或保存在其他地方均不能得分

]]>
c源程序的基本單位是什么(c源程序的基本單位是函數(shù)) http://www.qjsdgw.cn/3093.html Sun, 22 May 2022 18:09:09 +0000 http://www.qjsdgw.cn/?p=3093 C代碼:

// C語言代碼
struct TestClass
{

    int m_a;
    int m_b;

};
int TestClass_Sum(TestClass* self)
{
    return self->m_a +  self->m_b;
}
int main()
{
    TestClass testClassObj;
    testClassObj.m_a = 5;
    testClassObj.m_b = 6;
    int result = TestClass_Sum(&testClassObj);
    return 0;
}

C++的類將功能封裝到類中形成類的成員函數(shù)。

物以類聚,代碼也是如此,數(shù)據(jù)結(jié)構(gòu)與其操作的函數(shù)封裝到一起,并提供訪問控制,形成類類型。同時,可以通過類之間的關(guān)系不同,如繼承和抽象類的形式來進(jìn)一步群聚(grouping)類。

//C++代碼(也會編譯成類似左邊的代碼)
class TestClass
{
public:
    int m_a;
    int m_b;
    int Sum();
};
int TestClass::Sum() // 隱藏了一個指向?qū)ο髷?shù)據(jù)區(qū)的一個this指針
{
    return m_a+m_b;
}
int main()
{
    TestClass testClassObj;
    testClassObj.m_a = 5;
    testClassObj.m_b = 6;
    int result = testClassObj.Sum();
    return 0;
}

C++的類只是代碼組織的一種方式而已,當(dāng)然,相應(yīng)的,也成了一種編程思維。當(dāng)然,類作為一種封裝方式,也提供了一種類作用域和命名空間,有了更高的安全性。類的繼承讓代碼有了多一種的代碼重用方式,特別是在需要向上轉(zhuǎn)型的場合,類的多態(tài)讓代碼更易擴(kuò)展。以類和對象作為程序的基礎(chǔ)構(gòu)件也增大了代碼的顆粒度。同時,由此也讓代碼的設(shè)計模式和框架成為可能。

C語言函數(shù)以結(jié)構(gòu)體為參數(shù)來操作結(jié)構(gòu)體。

C++類的成員函數(shù)也隱藏了一個指向類數(shù)據(jù)成員的this指針。

最終的匯編代碼總是殊途同歸。

最后的匯編代碼幾乎一致:

-End-

]]>
提取數(shù)字中間幾位的函數(shù)(excel提取數(shù)字中間幾位) http://www.qjsdgw.cn/2881.html Sat, 21 May 2022 13:54:39 +0000 http://www.qjsdgw.cn/?p=2881

親愛的小伙伴們,跟我學(xué)EXCEL系列福利來了,從初級一直到高級學(xué)習(xí)EXCEL系列文章,結(jié)合財務(wù)實際應(yīng)用講解,配合動圖細(xì)節(jié)演示,通俗易懂,是一套比較系統(tǒng)的不可多見學(xué)習(xí)EXCEL的好文章。持續(xù)更新中!

本系列文章包括基礎(chǔ)篇(包括技巧、函數(shù))、進(jìn)階篇(主要是數(shù)據(jù)透視表)、高級篇(主要是Power Query)。

希望大家喜歡,歡迎提出寶貴意見和建議!

今天我們繼續(xù)學(xué)習(xí)函數(shù)及相關(guān)內(nèi)容。

二、EXCEL基礎(chǔ)篇-函數(shù)07

10、文本函數(shù)—文本提取函數(shù)LEFTRIGHT、MID

這三個函數(shù)都是從一個文本中提取一部分文本的函數(shù)。

LEFT是從左邊開始截取,RIGHT是從右邊開始截取,都是雙參數(shù),第二個參數(shù)都是截取位數(shù)。MID是從任意位置開始截取,三個參數(shù)。下表是具體功能和表達(dá)式:

函數(shù)

功能和用途

函數(shù)語法或者表達(dá)式

LEFT

從左邊開始取指定個數(shù)的字符

=LEFT(目標(biāo)單元格,截取位數(shù))

RIGHT

從右邊開始取指定個數(shù)的字符

=RIGHT(目標(biāo)單元格,截取位數(shù))

MID

從固定位置提取指定位數(shù)的字符

=MID(目標(biāo)單元格,指定位置起,截取位數(shù))

案例一、從身份證號中提取出生日期

圖片

C2單元格嵌套函數(shù)設(shè)置思路:

因為最后4位不需要,先用LEFT從左邊開始截取身份證號14位,然后再用RIGHT從右邊開始截取8位,就是出生年月日了。

這樣先LEFT后RIGHT完整的公式就是這樣的,=RIGHT(LEFT(B2,14),8)。

同樣的,D2單元格公式,因為左邊6位不需要,先用RIGHT從右邊開始截取身份證號12位,然后再用LEFT從左邊開始截取8位,就是出生年月日了。

這樣先RIGHT后LEFT完整的公式就是這樣的,=LEFT(RIGHT(B2,12),8)。

MID就簡單了,不用嵌套了,直接從第7位開始截取8位字符就是出生年月日了,函數(shù)表達(dá)式就是=MID(B2,7,8)。

動圖

如果想轉(zhuǎn)為真正的日期格式,公式轉(zhuǎn)數(shù)值后用我們之前學(xué)過的分列功能就可以實現(xiàn)了。

案例二、從文本和數(shù)字里提取數(shù)字

還是昨天的那個案例

用我們之前學(xué)的技巧“CTRL+E”就可以輕松提取位于左側(cè)的數(shù)字,不管這個數(shù)字有幾位。但我們用昨天和今天學(xué)的文本函數(shù)來實現(xiàn)這樣的功能,可以從不同角度來思考解決實際工作中的需求,也可以體會體會函數(shù)的組合用法。

我們來看函數(shù)設(shè)置思路,通過昨天的案例我們可以注意到lenb統(tǒng)計和len統(tǒng)計的差其實就是前面字符串里漢字的個數(shù),這樣用字符串總個數(shù)減去lenb統(tǒng)計和len統(tǒng)計的差就是數(shù)字的個數(shù)了,然后用left截取即可,公式就是=LEFT(A2,LEN(A2)-(C2-B2))。

案例三、復(fù)雜的補(bǔ)充位數(shù)

我們來看下圖,要求用0將A2:A7補(bǔ)齊4位文本,達(dá)到B2:B7的效果。

首先來看,第一位的C比較容易實現(xiàn),用LEFT(A2,1)即可。中間補(bǔ)位的位數(shù)是一個動態(tài)變化的,觀察后就是總位數(shù)4減去原數(shù)據(jù)的文本位數(shù)就是需要補(bǔ)位的位數(shù),用REPT(0,4-LEN(A2))就可以實現(xiàn)。后面的數(shù)字其實就是總位數(shù)減去1位,就是RIGHT(A2,LEN(A2)-1)。這樣全部的公式就是LEFT(A2,1)&REPT(0,4-LEN(A2))&RIGHT(A2,LEN(A2)-1)。

]]>