1樓:puuu神
費了不少時間,解答如下。
前提是你的資料已經按照你表中所示,相同訂單已集中。假定:
表1資料當前行號 = 2
表1資料結束行號 = 8
使用前需要將「表1資料結束行號」調整為你的實際表項對應資料。
如圖所示,sheet1為原始表,sheet2為結果。
vba程式如下:
sub macro1()
dim 起始列號 as integer
dim 結束列號 as integer
dim 表頭行號 as integer
dim 表1資料起始行號 as integer
dim 表1資料結束行號 as integer
dim 表1資料當前行號 as integer
dim 表2資料起始行號 as integer
dim 表2資料當前行號 as integer
dim 當前訂單號 as string
dim 新訂單行 as boolean
dim 第一次合併 as boolean
起始列號 = 1
結束列號 = 8
表頭行號 = 1
表1資料起始行號 = 2
表1資料當前行號 = 2
表1資料結束行號 = 8
表2資料起始行號 = 2
表2資料當前行號 = 2
新訂單行 = true
第一次合併 = true
'複製表頭
for i = 起始列號 to 結束列號
sheet2.cells(表頭行號, i) = sheet1.cells(表頭行號, i)
next
'合併表項
當前訂單號 = sheet1.cells(表1資料當前行號, 1)
for i = 表1資料起始行號 to 表1資料結束行號
if 新訂單行 then
for j = 起始列號 to 結束列號
sheet2.cells(表2資料當前行號, j) = sheet1.cells(表1資料當前行號, j)
next
新訂單行 = false
if sheet1.cells(表1資料當前行號, 1) <> sheet1.cells(表1資料當前行號 + 1, 1) then
sheet2.cells(表2資料當前行號, 7) = sheet2.cells(表2資料當前行號, 7) & "*" & sheet2.cells(表2資料當前行號, 8)
end if
else
if 第一次合併 then
sheet2.cells(表2資料當前行號, 7) = sheet1.cells(表1資料當前行號, 7) & "*" & sheet1.cells(表1資料當前行號, 8)
第一次合併 = false
else
sheet2.cells(表2資料當前行號, 7) = sheet2.cells(表2資料當前行號, 7) & "," & sheet1.
cells(表1資料當前行號, 7) & "*" & sheet1.cells(表1資料當前行號, 8)
end if
end if
if sheet1.cells(表1資料當前行號, 1) <> sheet1.cells(表1資料當前行號 + 1, 1) then
第一次合併 = true
新訂單行 = true
表2資料當前行號 = 表2資料當前行號 + 1
當前訂單號 = sheet1.cells(表1資料當前行號 + 1, 1)
end if
表1資料當前行號 = 表1資料當前行號 + 1
next
end sub
2樓:匿名使用者
建議用資料透視表,合併起來非常簡單。
3樓:匿名使用者
用vba可以解決,請發樣表到 [email protected], 寫**用,請保證與原**式相同
excel**相同的款號要合併成一個,然後相同款號的數量要相加,如何操作?謝謝 看截圖
4樓:平陽虎
如下圖,將e2(可隨意選擇)作為活動單元格,點選【資料——合併計算——在「函式」下選擇「求和」——在「引用位置」下直接輸入或用滑鼠選擇資料區域a2:b10——點選「新增」——勾選「最左列」——確定】。
5樓:匿名使用者
假設你的求和表在sheet2,條件求和,sumif(a:a,sheet2!a1,b:b)
請教excel高手,自動生成訂單系統。。。。
6樓:山口壇斜
這應該容易實現的。不過建議別將可能涉及商密的資料資料在網路外傳。你可以通過模擬資料進行處理。
7樓:匿名使用者
8樓:平陽虎
可用查詢類函式實現其操作目標。
在excel中,如何將內容完全相同的多行自動合併成一行.內容不相互合併.
9樓:次次次蛋黃米亞
1、首先
bai在excel**中輸入需要du進行操作的資料內容。
2、在f1單元zhi格dao中輸入合併公式:=concatenate(b1,c1,d1, e1)。內
3、點選回車並下拉容合併資料單元格,並將合併結果複製貼上為數值格式。
4、然後選中單元格並點選「資料」中的「刪除重複值」。
5、在開啟的提示框中單擊「以當前選定區域排序」,點選「刪除重複項」。
6、即可將重複的資料進行刪除操作了,此時再選中剩下的不重複的單元格。
7、點選「資料」選項卡中的「分列」選項。
8、選擇「固定寬度」的分列型別並按下圖分割字元,點選完成。
9、即可將唯一資料單元格保留並恢復原本的顯示格式。
10樓:匿名使用者
解決在excel中,如何將內容bai
完全du相同的多行自動合zhi併成一行的步驟如下:dao1.開啟excel軟體,回自動建立一個新的空白文件2.輸入多
答行資訊到excel**中
3.調整容納整行內容的excel**的寬度。
4.選中有多行內容的**區域。再點選「開始」,「填充「,」兩端對齊「。
5.合併後的內容就顯示在第一行處。這樣就解決了在excel中,如何將內容完全相同的多行自動合併成一行的問題了。
11樓:匿名使用者
我是用按抄部就班的辦法實現的:
1. 加一襲
列bai輔助列 如圖 在a列a1輸入公式 =concatenate(b1,"#",c1,"#",d1),向下複製公式,du然後將zhia列複製---右鍵---選擇性
dao貼上---貼上為數值。
2. 選中工作表,資料---分類彙總---按照 a列進行彙總,統計數量的合計,點選確定。
3. 選擇分類彙總的 2級別分類顯示(點選紅色橢圓內的 2完成)。顯示出彙總的列。
4. 同時按住 ctrl + g----定位條件----選定視覺化單元格---確定
5.ctrl c複製---開啟一新工作表---右鍵---選擇性貼上---貼上為數值。
6.再將a列選中---資料---分列---分割符號輸入#---完成。 將a列的 貨號#顏色#碼 和下面的內容 a2棉紗#紅色#編碼25 重新分列為 貨號列,顏色列,碼列。
希望有幫助。
12樓:匿名使用者
選用文字
合併函式把它抄們合併,然後用公式bai
去除重得du的確保唯一,之後zhi再做分列。
比如:在daoe1輸入 =concatenate(a1,b1,c1,d1,)合併文字,向下拖拉
在f1輸入 =if(e1<>"",if(countif(e1:e11,e1)<2,e1,),"")去除重複,把相同的行去掉只留下1行向下拖拉,然後,複製f列,原地做選擇性貼上數值之後再做分列:--點常用選單欄上的資料--分列--固定寬度--下1步--在欄位之間處點刻度使之分列--確定.
最後不用的就可以刪除了
13樓:
將工作表1中全部內容複製到工作表2中,選擇去除相同項即可。
14樓:匿名使用者
啥情況?你安個「看見」查查他的位置。
如何在ecel設定時間自動排列,如何在EXCEL設定時間自動排列
1 選中需要按順序排列的區域 2 依次開啟選單欄 資料 排內序 這容時會看到彈出一個 排序 的對話方塊 3 選擇 自定義序列 這裡面就可以選擇需要排序的型別了,然後確定即可。ps 可以根據自己的需求選擇,如 按星期排列 按季度排列 按英文的日期排列等等。輸入好以後,點一下自動排列應該就ok了 點選單...
學生分數如何用ecel編制自動分班
1先按學生分數高低排名編號,2根據分多少個班級利用編號的規律來分班 例如分10個班 就把1,11,21,31,分到1班,2.22.32分到2班 比如a列有99個學生 姓名1姓名2 姓名3姓名4 姓名5姓名6 姓名7姓名8 姓名9姓名10 姓名11 姓名99 每個班20人,進行分班 第一步 在b1輸入...
如何讓ecel自動變化金額大小寫
如果你在a1單元格里輸入小寫的數字想在b1單元格里顯示大寫的就用這個公式 substitute substitute substitute if a1 0,負 9 dbnum2 圓0角0分 0 圓整 dbnum2 圓零0分 零分 整 圓零 圓 使用公式 substitute substitute i...