EXCEL根據數量自動分成多行

2022-10-12 15:18:15 字數 6372 閱讀 3403

1樓:

用vba來實現吧

就按照你的格式位置(如圖)執行下面的巨集就可以生成,注意簡單起見,序號一定是從1開始由小到大等差排序,如1,2,3,4.....,不然程式就會複雜點了

sub zzhabc()

worksheets("sheet1").select

max_row = sheets("sheet1").[c65536].end(xlup).row

min_num = worksheetfunction.min(range("c2:c" & max_row))

max_num = worksheetfunction.max(range("c2:c" & max_row))

row1 = 1

for i = min_num to max_num

j = 1

ys = cells(i + 1, 4)

do while ys > cells(i + 1, 5)

row1 = row1 + 1

cells(row1, 9) = i & "-" & j

if j = 1 then

cells(row1, 10) = cells(i + 1, 4)

else

cells(row1, 10) = cells(row1 - 1, 12)

end if

cells(row1, 11) = cells(i + 1, 5)

ys = cells(row1, 10) - cells(row1, 11)

cells(row1, 12) = ys

j = j + 1

loop

if ys > 0 then

row1 = row1 + 1

cells(row1, 9) = i & "-" & j

cells(row1, 10) = ys

cells(row1, 11) = ys

cells(row1, 12) = 0

end if

next

end sub

如何將excel表的一行根據條件拆分成多行

2樓:匿名使用者

用left函式,此函式可以用於返回文字字串中的第一個字元或前幾個字元,語法: left(text,num_chars)

,比方說你想取b2單元格里面前三個字元,可以寫成=left(b2,3),後面的3表示你想取多少個字元

3樓:生如夏冰

僅靠公式肯定是實現不了的,需要編寫vb

excel中自動拆分總數到對應行中?

4樓:雲南新華電腦學校

例如,您有一個評書目錄列,您可以將該列拆分成單獨的藝術家、書名、集數列。

點選「資料」選單,選擇「分列」,嚮導將指導您完成整個過程。下面將詳細介紹其操作方式:

注意: 選擇所需的任何多個行,但是不要超過一列。確保右側有足夠的空列,以避免內容被覆蓋。如果您沒有足夠的空列,請新增空列。

選擇「分隔符號」,點選下一步。("固定寬度"指可以選擇任意欄位寬度的文字進行分割,一般不用)

可以選擇多種符號作為分隔符,例子中以"下劃線"為分隔符,由於系統列舉的沒有下劃線,所以選則其他,在方框中輸入:_

您可以在「資料預覽」視窗中檢視資料的分隔預覽。

確定效果後點選下一步。

在這一步中,您可以為新列選擇格式,或者讓 excel 為您選擇。如果您想選擇自己的格式,請選擇想要的格式,例如「文字」,單擊「資料預覽」視窗中的第二個資料列,並再次單擊相同格式。對「預覽」視窗中的所有列重複上述操作。

本例中,第三列選擇常規則分列後「001」變成「1」,選擇文字則保持不變,所以,分列切記選擇好格式。

最後點選完成就將此列分成了三列。

如果想將分隔的文字在別的位置顯示,則在第三步時找到目標區域選項。

單擊「目標」框右側的按鈕,選擇要貼上所拆分資料的起始單元格。

例如,想將拆分資料放在下圖所在位置,則選擇單元格c6

5樓:

得看看具體的資料才好下手呢!

怎麼樣把excel裡一行分成多行

6樓:魚木混豬喲

如果有規律的話

可以使用分列,按照固定寬度或者間隔符號將一行資料分成多列

然後再利用選擇性貼上,轉置,將列轉換成行

7樓:吉祿學閣

du有兩種方式,具體

zhi操作如下:

將游標放在需要dao斷行的字末尾版,使用雙鍵:「alt+enter」,

權其它各處繼續使用該雙鍵,即可實現一行分多行。

選中單元格→右鍵單元格格式→文字控制,選中「自動換行」前面的方框→確定,也可實現目的。

8樓:匿名使用者

不知道你在填寫的時候是怎麼填寫的,是寫在一格里面了嗎,如果是,建議你在寫時就寫在多格里,這樣方面合併和拆分

9樓:流年易老

資料-----分列---分列符號-----選空格---下一步。完成

不好意思。發完才看見這麼多高人。遲了

10樓:善良的豬頭

如果資料格式固定的話,按照以下操作

1,資料選單中選擇分列

2,在嚮導第一步選擇固定寬度

3,在嚮導第二步自己按照需求點選需要拆分的寬度;

4,確定就可以了。

操作過程中部分資料有空格,可以用查詢替換替換掉

11樓:匿名使用者

沒有規律的很難處理,你拷貝到word中,手工劃出你要的**,然後再拷貝到excel中

12樓:匿名使用者

在資料選單中找分列,然後自己調調就出來了

13樓:e俠兔

用分列功能:資料、分列、下一步、勾選空格、完成。

excel有沒有讓一列很多的行自動分成多列的公式呢

14樓:匿名使用者

通常由外部匯入excel的資料,都會以空格或頓號或逗號分隔。

選擇匯入資料所在的a列,在「資料」選項下的「分列」中,以「分隔符號」作為分隔條件,勾選空格,確定,並根據資料結構以每個列進行相應的設定,特別是日期所在列,和身份證號碼所在列(設定為文字),確定,即可完成匯入資料的分列,然後進行簡單的頁面佈局,即可滿足列印要求。

詳見附圖

15樓:沫沫容

按列印預覽後自動出現了虛線,按照虛線剪下到下一列,直到6列為止,調整列距即可

16樓:螞蟻帝國

比如你的資料在sheet1的a列

那麼在sheet2選中a:f共6列,輸入然後按ctrl+回車

然後再選中a:f並複製,選擇性貼上,數值,確定後,查詢0,刪掉0的那些單元格

剩下就是你要的了

17樓:千嬌百媚

如圖:=if(column(a1)>6,"",index($a:$a,row(a1)*6+column(a1)-6)&"")

18樓:

你可以試著使用mid函式來分。

19樓:匿名使用者

資料——分列

可以自定義分隔符,也可以固定列寬分列,空格也可以

excel中如何將一行資料根據屬性拆分成多行資料 20

20樓:匿名使用者

你好!這題目是一個典型的將一個交叉表(二維表)資料轉換為資料庫記錄(一行一行的記錄)表的操作過程,我可以給你一個操作,稍等。

1、先將表整理一下,取消合併單元格,為了唯一值,在每個科目前加一個科目**列(如圖),

2、以身份證號加科目**為唯一值,在表前加三空列,a2=h2&i2,b2=h2&m2,c2=h2&q2, 下拉,得到全部值,然後複製這3列值,再選擇性貼上為數值(因公式所得值不能當引數);

3、複製前三列值(不包括表頭),貼上---選擇性貼上為數值---轉置,

4、列公式,錯位相等,再下拉公式,直到值為0出現時,這樣就把原來的交叉資料變成一列唯一的記錄。

5、再複製得到的新列a,選擇貼上為數值,原表後面的列值全部可以用vlookup( )函式實現。b30=vlookup(a30, $a$1:$t$6, 6, 0), c30=vlookup(a30, $a$1:

$t$6, 7, 0),

因本人經常與資料庫打交道,常用excel轉換資料,這個方法當你面對海量資料進行加工時,特別實用,希望對你用。謝謝

21樓:第二茗

這個個可以的

後面成績的部分沒寫,思路是這樣,後面的index裡面地址要麼手動換,要麼你自己加一個offset

然後下拉拖動

注意第一行需要手動

=if(countif($c$9:c11,c11)

c11,$c$9:c11))),0,3,1,6)),c11,index($c$2:$c$3,sumproduct(1/countif($c$9:

c11,$c$9:c11))+1))

22樓:匿名使用者

【**和**已更新過,開始上傳的答案有點問題,現在正確了。】

你這個問題,公式不好解決。用vba**吧。

先看下圖:

方法:點頂部的「開發者工具」,點「visualbasic」開啟vb編輯器,

在畫藍色框的區域內的任意位置,點右鍵---插入模組,

點選模組,在右側輸入**,

點選畫粉色圓圈的按鈕執行**,即可得出結果。

**中加了註釋文字,方便你看懂,

**如下:

sub 拆分資料()

dim i, t as integer '定義i和t的型別

for i = 3 to 4 '遍歷原資料所在行,從第3行到第4行

x = evaluate("counta(f" & i & ",i" & i & ",l" & i & ")") '統計fi、ii、li非空單元格個數

if [a10] = "" then '資料從a10單元格開始寫

s = 10 '如果a10格是空的,則s=10

else

s = [a65536].end(3).row + 1 '否則s=a列最後一個資料的行號+1

end if

for t = s to s + x - 1 '遍歷該同學需寫資料的行,從第s行到第s+x-1行

range("a" & t) = range("a" & i)

range("b" & t) = range("b" & i)

range("c" & t) = range("c" & i)

range("d" & t) = range("d" & i)

range("e" & t) = range("e" & i)

range("f" & t) = cells(i, 5 + (t - s) * 3 + 1) '5指原資料中第一個科目左側列的列序數

range("g" & t) = cells(i, 5 + (t - s) * 3 + 2) '例圖上第一個科目左列為e列的列序數是5

range("h" & t) = cells(i, 5 + (t - s) * 3 + 3) '3指原資料科目列序數等差,f、i、l的列等差為3

next t

next i

end sub

請excel大師們指教,如何讓excel自動把一個工作表裡按定行數拆分也多個工作表, 110

23樓:沈一民

資料來源以5行資料為du一個zhi

表分割新建一個表1並儲存

a2=offset(資料來源

w($1:$5)))-1)*5+1,)&""

向下向右複製內(5行),公式中有兩個容5就是規定的行數,可以根據實際情況調整。

這樣第一個表就做完了。後面的表有兩種操作方法:

1、複製表1,把表名按順序修改如表2、表3、表4(根據資料量計算,需要幾個就複製修改幾個),之後儲存。

2、先建好表2、表3、表4等空表,複製表1資料區域,按住shift鍵不放,游標點表2工作表標籤後再點表43工作表標籤(這樣就選定了表2、表3、表4工作組)在對應單元格貼上,儲存工作簿。

注意:必須儲存,否則提取表名的公式卜能生效。

EXCEL中根據內容自動設定列印區域絕對高手進

開啟編輯好的excel文件,選中想要列印的區域,如圖所示 陰影圖層部分為所要列印的區域 點選頁面佈局選項卡,選擇列印區域選項,點選設定列印區域子選項,這時候就成功設定了列印區域。在設定好列印區域後,需要對選中的列印區域的輸出效果稍作調整,以符合輸出需求。首先按下ctrl p,點選預覽選項 紅色筆標註...

EXCEL問題能不能根據判定自動填充顏色

能做到,如果是07版的話 用條件格式就可以了,03版就只能用vba了,因為03的條件格式只允許3個條件 給你補上了 option explicit sub test dim a as long,i as long with activesheet a a65536 end xlup row for ...

excel,自動求和,excel表格自動求和怎麼做?

用公式,選中e3,在上面有 號那行上輸入公式,c3 d3,得出資料後,在使用填充柄,往下拽就可以了 你可以用vba巨集程式設計解決上面的問題 新建巨集,輸入以下 然後執行,就解決你的問題 subcount dimi asinteger fori 3 to1000 range e cstr i res...