首先将结论:
1.运算符&是简单万用的,在选择大量内容源的时候比较麻烦
2.函数concatenate和&一样,方便选择源。
3.函数phonetic不能识别/特地排除数值,我们可以利用这一点进行简单的数据清洗。
phonetic
phonetic公式可以实现拖选(A2:F2)、点选(B52,F1,A90)、区域选,来选择合并内容的来源,而且phonetic有个好处是可以将数字剔除,当然如果你需要保留数字的话显然这不是一个好用的公式。
concatenate
concatenate没有phonetic在数值方面的局限性,它可以将单元格内的内容全部合并、拼接,效果和 & 一样,而且在拖选、区域选、点选方面比 & 容易得多。
& 运算符
在合并对象比较少的情况下可以尝试使用这个,需要自己精确的选择合并的内容来源。
这里我用 & 做了一些功能。
1.一级合并
=$B$52 & B2 & $C$52
2.二级合并
=IF(B2="tr","",$B$52 & B2 & $C$52)
3.三级合并
=IF(B2="tr","",IF(B2="tre","",$B$52 & B2 & $C$52))
我用 & 运算符,针对固定单元格 $B$52 作为头,以 $C$52 作为结尾,中间连接一个活动元素 B2 ,这样拖动的时候,就会实现把头尾固定,替换中间的内容。
如果有看过 html 的应该知道这是在做什么。不过这个行列是按照表格的行列制成的,要变成代码这样是不对的,即是行列需要颠倒。
行列转置
其实这一步我有4种方法,用R的reshape的melt、Python,或者直接用 HTML 动态表格,当时用这些就直接偏题了,所以我采用了第4种——Excel自己的方法。
首先,把我们需要行列转置的内容复制起来,看到Excel表格的左上角【我是不想打广告的毕竟没有广告费,所以想说 MircoSoft Office 真心好用,大家一定要买 巨硬 的办公软件来用。请不要用我现在用的这个】
点击【粘贴】右侧的小三角形——
然后选择性粘贴,注意其中的属性——数值(因为我们粘贴源是公式,避免出错我们只需要粘贴它的结果,也就是数值)
另外一个重点,是转置,这两个勾起来之后,就可以得到左侧红框的内容,然后就可以直接复制到代码当中去了。
后话:后来直接用了动态表格= =因为懒上加懒。