1樓:黑豆
為了簡化公式,先確定科目最多的數量是幾個,圖中是3個,然後假設所有人都是3個科目,公式如下:
從左到右分別為
=offset($a$1,int((row(a1)-1)/3)+1,0,1,1)
=offset($a$1,int((row(a1)-1)/3)+1,1,1,1)
=offset($a$1,int((row(a1)-1)/3)+1,2+mod(row(a1)-1,3),1,1)
然後下拉填充
再按第三列篩選去掉空白的行
如果多於3個,把公式裡的3改成那個數
excel 如何多行轉置為一列,同時匹配其他列的資料?
2樓:
有檔案才方便處理,把問題作為內容(郵件主題一定要包含「excel」,本人以此為依據辨別非垃圾郵件,以免誤刪),excel樣表檔案(把現狀和目標效果表示出來,並說明如何從現狀到的目標效果)作為附件發來看下 [email protected]
3樓:匿名使用者
這是按5列寫的公式,不知道你的行號列號,公式結果有可能不對,需要你自己改一下。
=index(a:a,roundup(row()/5,0))
4樓:兩片葉子之歌
請問各位老師,類似上面案例的多行轉置為一列,同時匹配其他的資料公式應該如何設定?
excel在多列或者多行查詢同一資料,然後匹配另一列資料
5樓:北約之星
你可以用vba不
看的不清楚,**給你,複製貼上就行。
gif是生成的過程,**是結果。把巨集啟動,就能用了range("p2:y9999").
clearcontents以上兩串**包含y列,如果資料超過y列,就把這兩個**裡面的y加大,改成多少就看你自己了。
sub 取數()
dim q1%, q2%, q3%, q4%dim w1%, w2%, w3%, w4%range("p2:y9999").clearcontentsfor w1 = 2 to q1
for w2 = 2 to q3
for w3 = 5 to 11
if cells(w1, 15) = "" thenelseif cells(w2, w3) = cells(w1, 15) then
cells(w1, q2) = cells(w2, 2)end if
next
next
next
end sub
sub 清除()
range("p2:y9999").clearcontentsend sub
6樓:匿名使用者
你這樣的一個資料結構,加上不知所以然的提問,估計很難操作啊!……比如:b3、b4、b10都是7月1日同一個人,怎麼統計和顯示???
難道就是顯示3個7月1日???
所以, 你還是想一下最終需要做什麼,結果顯示是怎麼一個形式,做幾個資料例項樣子……
因此,你的問題最主要的還是優化資料結構的問題,資料結構到位了核算就很簡單了……
7樓:匿名使用者
如果日期只有一個月
8樓:匿名使用者
把表二的列標題日期換成具體的日期,然後用countifs可能統計出來具體的上課日期及節數。
excel資料匹配,分類多行多列怎麼匹配?
9樓:康老師**讀法
1.開啟excel,兩次ctrl+c開啟剪下板。單擊「全部清空」
2.如果選擇第一列的內容後,ctrl+c進行復制。再選擇第二列的內容進行復制。記住要對要轉換的各列進行單獨複製。
3.單擊空白單元格,再點選剪下板上的「全部貼上」即可達到快速的多行多列資料快速轉換成單列資料
4.當然這個方法是先列後行的方法進行轉換的。如果想按照先行後列的方法的進行轉換的話,可以將通過選擇性貼上的方法將這一部分資料轉置後再按照上面的方法進行操作。
10樓:匿名使用者
先選擇你要轉換的那一列資料,然後用滑鼠點一下你要轉換成一行的位置(這一步很重要,不然他不知道你要放在哪個位置)再選擇編輯選單裡的——選擇性黏貼——轉置。
如何用excel函式把多行多列按順序轉為多行一列
11樓:匿名使用者
也不清楚你到底多少行多少列,也不知道你要什麼規則,給你兩種公式自己套用
13列變成1列,行不限
=offset($a$1,int((row(a1)-1)/13),mod(row(a1)-1,13))
公式下拉
18行變成1列,列不限
=offset($a$1,mod(row(a1)-1,18),int((row(a1)-1)/18))
公式下拉
12樓:心隨飄動
如果上面的資料表起點不是a1,怎麼弄???
如果套用=offset($a$1,int((row(a1)-1)/13),mod(row(a1)-1,13))就會出錯。
13樓:匿名使用者
使用offset函式,請說明具體規則
如何把excel中多行多列資料轉成一列資料?急求!!!
14樓:眯住眼串針
資料量大的話建議用vba
1、由於以下vba將所選擇的區域轉換到a列中,如果a列包含資料,先在工作表的最左側插入一新的a列,以便放置轉換後的資料。
2、按快捷鍵alt+f11,開啟vba編輯器,在右側**視窗中貼上下列**:
sub 選定區域轉換為一列並去除空格()
dim therng, temparr
dim i as integer, j as integer, elemcount as integer
on error goto line1
range("a:a").clearcontents
if selection.cells.count = 1 then
range("a1") = selection
else
therng = selection
elemcount = ubound(therng, 1) * ubound(therng, 2)
redim temparr(1 to elemcount, 1 to 1)
for i = 1 to ubound(therng, 1)
for j = 1 to ubound(therng, 2)
temparr((i - 1) * ubound(therng, 2) + j, 1) = therng(i, j)
next
next
range("a1:a" & elemcount) = temparr
end if
line1:
dim r as long
r = sheet1.usedrange.rows.count
for i = r to 1 step -1
if cells(i, 1) = "" then
rows(i).delete
end if
next
end sub
3、關閉vba編輯器,返回excel工作表介面。
4、全選需要轉換的區域(千萬記得要做這個步驟!!!),再按alt+f8,開啟「巨集」對話方塊,選擇上述**中的巨集名「選定區域轉換為一列並去除空格」,執行**。
15樓:匿名使用者
是需要轉置嗎?最好把圖貼上來看看
16樓:匿名使用者
=indirect(address(int(row(a5)/5),mod(row(a5),5)+1))
下拉填充
excel 多行多列轉成多行一列
17樓:匿名使用者
設有6列,在a到f
在g1單元格輸入:
=index(a:f,roundup(row(a1)/6,),mod(row(a1)-1,6)+1)
一直下拉到顯示為0為止。
18樓:匿名使用者
你的話有歧意,不知道你究竟是哪種意思,如果只是要把相同的一行多列的內容合併到一列,用concatenate()函式或者&可以實現,如果是要把多行多列的所有資料合併到1列,用陣列可以實現。
19樓:誰能回答啊謝謝
你可以在第一列前插入一列,輸入公式
=concatenate()
括號內寫入當前行的每一列的列號,如:
=concatenate(b1,c1,d1,e1,f1,g1)拖動當前公式單元格右下角的黑點至最後一行,複製公式即可達到你的需要。
你試試。
你說的這種還真不知道怎麼轉,不好意思。
20樓:
不能,僅同行不同列中同時存在內容時,無法合併,硬要合併,系統提示會保留第一列的內容,而丟失其他列內容.
office沒那麼聰明,會把不同列的內容依次排列合併。
21樓:匿名使用者
我嘗試了,上面說的根本不管用.而且麻煩,有個最簡單的方法就是:同樣假設6列,在第7列輸入 =a1&b1&c1&d1&e1&f1 就好了,簡單實用!
對於漢字或數字都行!!!!!強烈要求給標準答案!最好再加個200分,哈哈!
22樓:辜紫
上面的=concatenate() 函式可以實現,我經常用excel函式,這樣可以實現你的要求.
excel中一行多列變成一列多行
f1輸入 offset b 1,int row a1 1 counta a a 1 g1輸入 offset a 2,mod row a1 1,counta a a 1 h1輸入 offset b 2,mod row a1 1,counta a a 1 int row a1 1 counta a a ...
excel中多列多行求和,Excel中多列多行求和
操作方法,選中這個區域,下面狀態列裡就有求和結果。公式方法 假如資料是在a1至d3這個區域,在綠色處也就是e4輸入公式 sum a1 d3 可以了。沒有問題。你在現在的做法是手工輸入公式,你可以拖動輸入公式。比如,在c2處輸入 a2 b2 下拉填充柄,到第五行。在其他b7處進行求和計算。這樣的公式,...
如何把一列分成多列,excel怎麼把一列分成多列
選中這一列。按alt d e,在彈出的對話方塊選擇分隔符號,點下一步,勾選其他,在後面的框裡面輸入 這個豎號,不含雙引號。點完成。就都分開了。然後把所有的空白列刪除。就會發現,只剩下10列了 資料 分列 分隔符號 其他符號 1 先把內容檔案存成txt後者csv格式。2 用excel開啟,開啟時,檔案...