我有时间表。我希望按照图片中显示的方式将行中的数据转换为列(而不是使用公式)。
第一排(AU,KM,GK,MZ)是教师,第二排是教室。
在B23细胞中,公式为:" =间接(地址(第(Q2),行(Q2)))"
在B24" =间接(地址(列(R2),行(R2)))",
在B25" =间接(地址(栏目(Q3),行(Q3)))",
在B26" =间接(地址(列(R3),行(R3)))"
我想填写星期一列,但是自动填充功能并不像我想的那样 - 下一个公式例如是q5,r5,q7,r7,q9,r9而不是简单地增加这种方式 - > q1,r1,q2,r2,q3,r3,q4,r4,q5,r5等。
如何解决?任何帮助都会得到满足。
答案 0 :(得分:1)
在B13:
dat <- dd2
(origins <- ave(seq_along(rownames(dat)), dat$seq, FUN = function(x) {
## fix for duplicates
dat$grp[x] <- dat$grp[x] + cumsum(duplicated(dat$grp[x]))
gr <- dat$grp[x] - 0:(length(dat$seq[x]) - 1)
ave(dat$grp[x], gr, FUN = min)
}))
# [1] 1 1 1 2 2 2 1 2 3 1 3 3 3 4 5 5 6 6 7 7 7 5 7 8 5 8 8 8 9 10
par(mar = c(5, 5, 2, 5), las = 1, bty = 'n', xpd = NA)
plot(as.numeric(dat$seq), dat$grp, col = origins, pch = 16,
cex = 3, xaxt = 'n', yaxt = 'n', xlab = 'seq', ylab = '')
axis(1, at = 1:8, letters[1:8], lwd = 0)
axis(2, at = 1:10, paste0('time ', 1:10))
axis(4, at = 1:10, rep_len(palette(), 10))
在B14:
=IFERROR(INDEX($7:$7,MATCH(A13,$5:$5,0)),"")
然后复制并填写两个。