只按行使用细胞

时间:2016-06-10 07:08:17

标签: excel excel-vba vba

我有一个包含调查结果的巨大Excel电子表格。 对于每一行,大约有100列可能的答案。 每位受访者给出了3到9个答案。 所以它看起来像这样:
R1:----- x ----- x ------ x -------
R2: - x - x ------- x ------- xx ----
R3:-------- x ---- x --- x ------- x-
....

现在我想用仅使用过的单元格制作电子表格。 像这样:
R1:xxx
R2:xxxxx
R3:xxxx
...

列标题并不重要。

有什么建议吗?

会帮助我很多。 谢谢!

2 个答案:

答案 0 :(得分:0)

假设您的数据位于Sheet1

enter image description here

然后在任何其他表格中使用以下公式

=IFERROR(INDEX(Sheet1!$A1:Sheet1!$AE1, SMALL(IF(ISBLANK(Sheet1!$A1:Sheet1!$AE1), "", COLUMN(Sheet1!$A1:Sheet1!$AE1)-MIN(COLUMN(Sheet1!$A1:Sheet1!$AE1))+1), COLUMN(A1))),"")

这是一个数组公式,按 Ctrl + Shift + Enter

然后根据需要向下和向下拖动/复制此公式。

这就是结果的样子

enter image description here

此处公式使用的范围从Column AColumn AE

答案 1 :(得分:0)

由于公式出错,我自己找到了一个“解决方案”解决方案。

  1. 将电子表格另存为CSV
  2. 在Word中打开CSV
  3. 使用替换所有功能
  4. 将所有多个分号减少为一个分号
  5. 将文本转换回CSV。
  6. 解决了:)
  7. 非常感谢您的帮助!