首頁 >軟體教學 >辦公室軟體 >excel判斷行符合要

excel判斷行符合要

王林
王林轉載
2024-01-12 18:48:32776瀏覽

excel判斷行符合要

在Sheet2插入命令按鈕並編程如下:

Private Sub CommandButton1_Click()

Dim i1 As Long, i2 As Long

##Dim a$, b$

i2 = 2

Do While Range("C" & i2)

""

a$ = ""

#b$ = ""

#i1 = 1

Do While Worksheets("Sheet1").Range("C" & i1)

""

If Worksheets("sheet1").Range("C" & i1) = Range("C" & i2) Then

a$ = a$ & Worksheets("sheet1").Range("A" & i1) & ";"

b$ = b$ & Worksheets("sheet1").Range("B" & i1) & ";"

End If

i1 = i1 1

Loop

If a$

"" Then a$ = Left(a$, Len(a$) - 1)

If b$

"" Then b$ = Left(b$, Len(b$) - 1)

Range("A" & i2) = a$

#Range("B" & i2) = b$

#i2 = i2 1

Loop

End Sub

linux下如何獲得特定字串前後幾行文字

這一行指令可以幫助你刪除包含 Merge 的 commit 區塊(任多個這樣的文字區塊)

sed -n '/commit/{:a;h;n;/Merge/b;:c;H;n;$bd;/commit/!bc;:d;x;p;x;ba} ' log > log.txt

運行效果如下:

excel判斷行符合要

#我的命令可能複雜了些。稍微解釋一下,僅供參考:

其中:a :b :c :d 是指令跳轉標籤label

1. /commit/{:a;h;n;

當某行找到 commit 時,將此行複製到 hold space,然後讀取下一行。

2. /Merge/b;

如果剛讀取到的新行,包含Merge,則結束對本行的處理,讀取下一行,並繼續尋找commit

如果剛讀取到的新行,不包含Merge,那麼繼續對本行執行後續指令:

3. :c;H;n;$bd;/commit/!bc;:d;x;p;x;ba}

將此行追加到hold space,讀取下一行,如果沒有到最後一行,並且沒有找到commit,那麼執行命令bc,跳到c標籤——循環這個過程,直到讀取到文件末尾或者讀取到包含commit的行。然後,x,將hold space的內容與pattern space的內容對調,p,輸出pattern space的內容(即,不包含Merge的塊),x,再次對調,pattern space變成之前的內容(文件末尾或者包含commit的行)。 ba,跳到標籤a,繼續對此行進行檢查,重複步驟1,2,3。

如果上面的指令改為:

sed -n '/commit/{:a;h;n;/Merge/!b;:c;H;n;$bd;/commit/!bc;:d;x;p;x;ba }' log > log.txt

那麼,輸出結果為,只包含 Merge 的 commit 區塊

MFC中讀取TXT檔案中的資料和行列數

既然有1位數的數據也有4位數的數據,那麼如果txt中沒有刻意的回車,行數和列數就不可能確定。如果有回車的話,簡單,用

#include

char *strtok( char *str1, const char *str2 );

就能解決。

先用getline()一行讀出一個str,並且累加行數,然後

char *result = NULL;

char string[100][100];

int x = 0;

result = strtok( str, " ");

while( result != NULL ) {

strcpy(string[x ] , result);

result = strtok( NULL, " " );

}

這樣用一個string數組就可以把全部資料保存下來。 x記錄了總數,然後x除以行數就是列數。

今天有空了,幫你把程式全寫出來:

#include

#include

#include

using namespace std;

void main(){

char ch[100] = "\0";

char b[100][100];

int x=0,y=0;

ifstream fin("123.txt",ios::in);

fin.getline(ch,100);

while(!fin.eof()){

x;

cout

#char *result = NULL;

result = strtok(c​​h,",");

while( result != NULL ) {

strcpy(b[y ],result);

cout

result = strtok( NULL, "," );

}

memset(ch,0,100);

fin.getline(ch,100);

}

fin.close();

}

//已經運行過了,沒問題,b[100][100]是所有元素,x為行數,y/x為列數。 ###

以上是excel判斷行符合要的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:docexcel.net。如有侵權,請聯絡admin@php.cn刪除