小编MJ9*_*J95的帖子

VBA:将单元格值拆分为多行并保留其他数据

我在一列中用逗号分隔值,我需要将它们拆分成新行并保持所有其他数据相同.我的行数可变.

我不知道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)

但我不确定如何将数据保留在第一列并将数据复制到其他列.

excel vba excel-vba

8
推荐指数
1
解决办法
1万
查看次数

R:尝试在filter.data.frame中使用零长度变量名

我根本不是 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)

r dataframe

6
推荐指数
1
解决办法
4719
查看次数

组合一列中存在重复值的行

我需要帮助动态地将行与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)

excel vba excel-vba

0
推荐指数
1
解决办法
361
查看次数

标签 统计

excel ×2

excel-vba ×2

vba ×2

dataframe ×1

r ×1