我在一列中用逗号分隔值,我需要将它们拆分成新行并保持所有其他数据相同.我的行数可变.
我不知道B列中的单元格中总有多少个值,所以我需要动态循环遍历数组
例:
ColA ColB ColC ColD
Monday A,B,C Red Email
Run Code Online (Sandbox Code Playgroud)
输出:
ColA ColB ColC ColD
Monday A Red Email
Monday B Red Email
Monday C Red Email
Run Code Online (Sandbox Code Playgroud)
尝试过类似的东西:
colArray = Split(ws.Cells(i, 2).Value, ", ")
For i = LBound(colArray) To UBound(colArray)
Rows.Insert(i)
Next i
Run Code Online (Sandbox Code Playgroud)
但我不确定如何将数据保留在第一列并将数据复制到其他列.
我根本不是 R 专家,并且收到此错误:
初始化时出错(...):尝试使用零长度变量名调用:%>% ... filter.data.frame -> filter_rows -> -> 初始化 -> .Call
通过日志,我将其范围缩小到这行代码:
qb_stats_all <- subset(qb_stats_all, select = -c(num)) %>% filter(player != 'Player')
Run Code Online (Sandbox Code Playgroud)
这是之前的完整代码:
library(dplyr)
library(htmltab)
# Set earliest quarterback draft year
beginning_qb_year <- 1985
# Set most recent quarterback draft year
ending_qb_year <- 2020
# Scrape NFL quarterback career data
url_start <- paste0('https://www.pro-football-reference.com/play-index/psl_finder.cgi?request=1&match=combined&year_min=', beginning_qb_year, '&year_max=2020&season_start=1&season_end=-1&pos%5B%5D=qb&draft_year_min=1936&draft_year_max=2020&draft_slot_min=1&draft_slot_max=500&draft_pick_in_round=pick_overall&conference=any&draft_pos%5B%5D=qb&draft_pos%5B%5D=rb&draft_pos%5B%5D=wr&draft_pos%5B%5D=te&draft_pos%5B%5D=e&draft_pos%5B%5D=t&draft_pos%5B%5D=g&draft_pos%5B%5D=c&draft_pos%5B%5D=ol&draft_pos%5B%5D=dt&draft_pos%5B%5D=de&draft_pos%5B%5D=dl&draft_pos%5B%5D=ilb&draft_pos%5B%5D=olb&draft_pos%5B%5D=lb&draft_pos%5B%5D=cb&draft_pos%5B%5D=s&draft_pos%5B%5D=db&draft_pos%5B%5D=k&draft_pos%5B%5D=p&c5val=1.0&order_by=pass_att&offset=')
offset_seq <- seq(0, 500, 100)
qb_stats_all <- data.frame()
for (url_end in offset_seq) {
print(paste0('Scraping from QB #', url_end, '!'))
url <- paste0(url_start, url_end) …Run Code Online (Sandbox Code Playgroud) 我需要帮助动态地将行与VBA结合在Excel中,其中值有时在一列中相同.
样本数据
A B C D E
1 r 10 5 3
1 r 12 8 2
2 q 60 50 40
2 q 25 45 55
2 q 100 200 300
Run Code Online (Sandbox Code Playgroud)
编辑:我的示例数据中的错误,将A中的最后一个值从3更改为2.
理想情况下,我会将列中下面值相同的行组合在一起B,同时将C&D中的值组合在一起,用分号分隔并对E列中的值求和.
当有一个重复但没有变化的重复数量时(动态组合),它可以工作
这基本上是我尝试过的:
Dim i As Long
i = 2
For i = 2 to lastRow
If Cells(i, 2).Value = Cells(i + 1, 2).Value Then
Cells(i, 3).Value = Cells(i, 3).Value & ";" & Cells(i + 1, 3).Value
Cells(i, 4).Value = Cells(i, 4).Value + Cells(i + …Run Code Online (Sandbox Code Playgroud)