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文件,選中想要列印的區域,如圖所示 陰影圖層部分為所要列印的區域 點選頁面佈局選項卡,選擇列印區域選項,點選設定列印區域子選項,這時候就成功設定了列印區域。在設定好列印區域後,需要對選中的列印區域的輸出效果稍作調整,以符合輸出需求。首先按下ctrl p,點選預覽選項 紅色筆標註... 能做到,如果是07版的話 用條件格式就可以了,03版就只能用vba了,因為03的條件格式只允許3個條件 給你補上了 option explicit sub test dim a as long,i as long with activesheet a a65536 end xlup row for ... 用公式,選中e3,在上面有 號那行上輸入公式,c3 d3,得出資料後,在使用填充柄,往下拽就可以了 你可以用vba巨集程式設計解決上面的問題 新建巨集,輸入以下 然後執行,就解決你的問題 subcount dimi asinteger fori 3 to1000 range e cstr i res...EXCEL中根據內容自動設定列印區域絕對高手進
EXCEL問題能不能根據判定自動填充顏色
excel,自動求和,excel表格自動求和怎麼做?