Excel:将一行作为string导出

我在Excel工作表中写了这个简单的公式。

=CONCATENATE(A$1,"='",A49,"', ",B$1,"='",B49,"', ", C$1,"='",C49,"',",D$1,"='",D49,"'") 

它将当前行的单元格值与列标题组合在一起。

我把它放在E49上,如果我将它复制粘贴到E列的任何地方,它都可以很好地调整。 我想改进它,使其更通用,我宁愿不使用VBA保持简单(即安装在具有单元格公式的简单复制粘贴的任何电子表格上)。

function完成:

  • 自动调整以更改列标题中的标签。

function缺失:

  1. 调整以通过编辑几个字符来添加/删除列(例如,在公式中具有“A:D”或“A1:D1”参数)。
  2. 自动调整以添加/删除列。

题:

  • 我可以只用一个公式吗? 如果没有,是否有任何公式可以接近相同的结果?

这取决于你想要公式的复杂程度。 我认为它是一个不太优雅的解决scheme,但理论上可以构build一个巨大的IF(..)语句来testing列名是否存在。

如果它们不是空白的,请执行concat。

个人而言,我会使用VBA,并将其投入到加载项中; 这样它将在本地计算机上的任何Excel实例中打开。