我有一张这样的桌子:
FRANCE PARIS
FRANCE MARSEILLE
FRANCE LYON
SPAIN MADRID
SPAIN BARCELONA
SWITZERLAND ZURICH
SWITZERLAND GENEVA
SWITZERLAND BERN
我想换位,所以看起来像这样:
FRANCE SPAIN SWITZERLAND
PARIS MADRID ZURICH
MARSEILLE BARCELONA GENEVA
LYON BERN
如果我可以使用更合适的工具,则可以在5分钟内使用循环来完成此操作,但是我只能在工作中使用Excel(以及VBA,我对此一无所知)。
到目前为止,我所做的是一个有效的丑陋解决方案。首先,我使用COUNTIF和SUMPRODUCT创建一个过渡表,然后使用VLOOKUP创建我的最终表。
是否有更优雅的方法来实现我要完成的任务?
答案 0 :(得分:2)
在列 A 和 B 中包含数据,请尝试使用以下简短的VBA宏:
<p><b>Contact data: <button class="0316 301 958" onclick="myFunction(this.className)">Show the number</button>
<p><b>Contact data: <button class="0316 301 958" onclick="myFunction(this.className)">Show the number</button>
<p><b>Contact data: <button class="0754 520 952" onclick="myFunction(this.className)">Show the number</button>
<p><b>Contact data: <button class="0316 301 958" onclick="myFunction(this.className)">Show the number</button>
答案 1 :(得分:1)
如果您有机会获得powerquery你可以做以下(稍微低效率的,但做这项工作)。
将数据转换为名为Table1的表,然后在Excel 2016 / +中进入“数据”>“从表”(选择表)。对于2013,请在从Microsoft安装加载项后使用powerquery选项卡,然后执行from表导入。在powerquery窗口中打开编辑器窗口,然后将M代码编辑为以下内容:
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Country", type text}, {"City", type text}}),
#"Grouped Rows" = Table.Group(#"Changed Type", {"Country", "City"}, {{"Count", each _, type table}}),
#"Expanded Count" = Table.ExpandTableColumn(#"Grouped Rows", "Count", {"Country", "City"}, {"Count.Country", "Count.City"}),
#"Transposed Table" = Table.Transpose(#"Expanded Count"),
#"Removed Columns" = Table.RemoveColumns(#"Transposed Table",{"Column2", "Column3", "Column4", "Column6", "Column8"}),
#"Promoted Headers" = Table.PromoteHeaders(#"Removed Columns", [PromoteAllScalars=true]),
#"Changed Type1" = Table.TransformColumnTypes(#"Promoted Headers",{{"FRANCE", type text}, {"SPAIN", type text}, {"SWITZERLAND", type text}})
in
#"Changed Type1"
答案 2 :(得分:1)