用户定义的连接
User defined concatenate
我正在尝试扩展我的年度计划文件以提供更多信息。但是目前我卡住了。
我目前的Sheet布局如下:
我需要创建第二个 sheet,将客户名称与每个列标题连接起来,其中有一个 "yes" 值,作为单独的行。
新 sheet 中的示例 1 将变为:
Example 1 - Annuals
Example 1 - Xero Fee
我试过复制和粘贴宏,基于数量列计算包含文本的行数。这在新 sheet 中提供了所需数量的客户端名称,但我无法弄清楚如何将此问题的 "concatenate" 部分包含在内。
Public Sub CopyData()
' This routing will copy rows based on the quantity to a new sheet.
Dim rngSinglecell As Range
Dim rngQuantityCells As Range
Dim intCount As Integer
' Set this for the range where the Quantity column exists. This works only if there are no empty cells
Set rngQuantityCells = Range("G1", Range("G1").End(xlDown))
For Each rngSinglecell In rngQuantityCells
' Check if this cell actually contains a number
If IsNumeric(rngSinglecell.Value) Then
' Check if the number is greater than 0
If rngSinglecell.Value > 0 Then
' Copy this row as many times as .value
For intCount = 1 To rngSinglecell.Value
' Copy the row into the next emtpy row in sheet2
Range(rngSinglecell.Address).EntireRow.Copy Destination:=Sheets("Sheet2").Range("A" & Rows.Count).End(xlUp).Offset(1)
' The above line finds the next empty row.
Next
End If
End If
Next
End Sub
如果你的目标是从得到这个:
...到这个(或那个):
...那么您要做的就是 Unpivot.
如何逆透视 "crosstab-style" 数据:
您可以找到写在 , and there's a more detailed explanation and steps over here 上的步骤。
如果您有任何问题,请告诉我!
是啊,也许我以此为借口练习使用Screen2Gif,但它确实有助于演示一个观点! :-)
我正在尝试扩展我的年度计划文件以提供更多信息。但是目前我卡住了。
我目前的Sheet布局如下:
我需要创建第二个 sheet,将客户名称与每个列标题连接起来,其中有一个 "yes" 值,作为单独的行。
新 sheet 中的示例 1 将变为:
Example 1 - Annuals Example 1 - Xero Fee
我试过复制和粘贴宏,基于数量列计算包含文本的行数。这在新 sheet 中提供了所需数量的客户端名称,但我无法弄清楚如何将此问题的 "concatenate" 部分包含在内。
Public Sub CopyData()
' This routing will copy rows based on the quantity to a new sheet.
Dim rngSinglecell As Range
Dim rngQuantityCells As Range
Dim intCount As Integer
' Set this for the range where the Quantity column exists. This works only if there are no empty cells
Set rngQuantityCells = Range("G1", Range("G1").End(xlDown))
For Each rngSinglecell In rngQuantityCells
' Check if this cell actually contains a number
If IsNumeric(rngSinglecell.Value) Then
' Check if the number is greater than 0
If rngSinglecell.Value > 0 Then
' Copy this row as many times as .value
For intCount = 1 To rngSinglecell.Value
' Copy the row into the next emtpy row in sheet2
Range(rngSinglecell.Address).EntireRow.Copy Destination:=Sheets("Sheet2").Range("A" & Rows.Count).End(xlUp).Offset(1)
' The above line finds the next empty row.
Next
End If
End If
Next
End Sub
如果你的目标是从得到这个:
...到这个(或那个):
...那么您要做的就是 Unpivot.
如何逆透视 "crosstab-style" 数据:
您可以找到写在
如果您有任何问题,请告诉我!
是啊,也许我以此为借口练习使用Screen2Gif,但它确实有助于演示一个观点! :-)