
求excel大神的帮助!纵向数据的横向转置!数据太多而且有个别缺省值,如何用公式或语言来实现?拜谢!!
左为股票代码,中为年月,右为股东回报率。我想把上面的数据变成下面的形式:(r1到r12分别为从当年1到12月的股东回报率)我也尝试过=OFFSET($A$1,(ROW(A...
左为股票代码,中为年月,右为股东回报率。我想把上面的数据变成下面的形式:
(r1到r12分别为从当年1到12月的股东回报率)
我也尝试过=OFFSET($A$1,(ROW(A1)-1)*5+COLUMN(A1)-1,)之类的公式照猫画虎地复制粘贴,但关键是我的数据并不是每一年每一月都有的,不一定哪年哪月的突然就缺失了而且在原始数据表格中还没留出空位置所以很难发现,比如说上表中2010年的七八两月的数据就是缺失的,而且原始数据中就直接从2010-06过渡到2010-09了。数据不仅多而且没有规律可循,这种情况下怎么按照上表规定的格式进行转置?
已经憋了好多天了,跪求神助!!!实在感谢!!感激不尽!!!
(我是初学者,最好能讲详细一点,麻烦啦~!) 展开
(r1到r12分别为从当年1到12月的股东回报率)
我也尝试过=OFFSET($A$1,(ROW(A1)-1)*5+COLUMN(A1)-1,)之类的公式照猫画虎地复制粘贴,但关键是我的数据并不是每一年每一月都有的,不一定哪年哪月的突然就缺失了而且在原始数据表格中还没留出空位置所以很难发现,比如说上表中2010年的七八两月的数据就是缺失的,而且原始数据中就直接从2010-06过渡到2010-09了。数据不仅多而且没有规律可循,这种情况下怎么按照上表规定的格式进行转置?
已经憋了好多天了,跪求神助!!!实在感谢!!感激不尽!!!
(我是初学者,最好能讲详细一点,麻烦啦~!) 展开
4个回答
展开全部
在1表加1列,将A列代码与B列月份文字合并,得到类似“0000012004-01“的代码。
在2表中的r1……应标记成r01……,用($A2&$B2&"-"&RIGHT(C$1,2))同样可以取得相同代码。
如此代入vlookup函数中查找所有1表的return数据了。
在2表中的r1……应标记成r01……,用($A2&$B2&"-"&RIGHT(C$1,2))同样可以取得相同代码。
如此代入vlookup函数中查找所有1表的return数据了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把问题作为内容(邮件主题一定要包含“excel”,本人以此为依据辨别非垃圾邮件,以免误删)、excel样表文件(请特别注意:要03版的(如果是03以后的,把文件“另存为”一下,类型框可以选择03的),把现状和目标效果表示出来)作为附件发来看下 yqch134@163.com
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
写宏代码可以完成,而且不算复杂
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
让你发我邮箱。帮你写代码。
308549083
308549083
追问
哦,好的,我马上发过去!
追答
代码已写好。发你邮箱了。只写了一个表格。其他表格。你自己把代码添加进去。
代码如下:
Sub mysub()
Dim i, j, s, a As Integer
Worksheets.Add after:=Sheets(1)
With Sheets(2)
.Cells(1, 1) = "stock"
.Cells(1, 2) = "year"
For j = 3 To 14
.Cells(1, j) = "r" & j - 2
Next j
End With
With Sheets(1)
s = 1
For i = 2 To Sheets(1).[a65536].End(xlUp).Row
If Left(Cells(i, 2), 4) Left(Cells(i - 1, 2), 4) Then
s = s + 1
End If
Sheets(2).Cells(s, 1) = Cells(i, 1)
Sheets(2).Cells(s, 2) = Left(Cells(i, 2), 4)
a = Right(Cells(i, 2), 2)
Select Case a
Case 1
Sheets(2).Cells(s, 3) = Sheets(1).Cells(i, 3).Value
Case 2
Sheets(2).Cells(s, 4) = Sheets(1).Cells(i, 3).Value
Case 3
Sheets(2).Cells(s, 5) = Sheets(1).Cells(i, 3).Value
Case 4
Sheets(2).Cells(s, 6) = Sheets(1).Cells(i, 3).Value
Case 5
Sheets(2).Cells(s, 7) = Sheets(1).Cells(i, 3).Value
Case 6
Sheets(2).Cells(s, 8) = Sheets(1).Cells(i, 3).Value
Case 7
Sheets(2).Cells(s, 9) = Sheets(1).Cells(i, 3).Value
Case 8
Sheets(2).Cells(s, 10) = Sheets(1).Cells(i, 3).Value
Case 9
Sheets(2).Cells(s, 11) = Sheets(1).Cells(i, 3).Value
Case 10
Sheets(2).Cells(s, 12) = Sheets(1).Cells(i, 3).Value
Case 11
Sheets(2).Cells(s, 13) = Sheets(1).Cells(i, 3).Value
Case 12
Sheets(2).Cells(s, 14) = Sheets(1).Cells(i, 3).Value
End Select
Next
End With
End Sub
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询