转换 Excel 数据

转换 Excel 数据

我在 Sharepoint 中做了一个调查,想将结果转换为 Excel 2003 中有用的内容。我的问题是某些问题的答复格式。

一个问题(=一列)的两个答案(=两行)的示例如下所示

替代方案 A;#替代方案 B;#唯一自由文本替代方案
替代方案 A;#替代方案 C

因此,用户选择的所有替代方案都在同一列中,以;#

我想做的是将其转换为

替代方案 A = 2
替代方案 B = 1
替代方案 c = 1
唯一自由文本替代方案 = 1

这样,它就很容易转换为图形。

我该如何用最少的手动工作来完成此操作?这个问题大约有 60-70 行,每行大约有 15 - 20 列。

我想我需要以某种方式计算替代方案,并用 ;#? 分隔。

如果其他方法都失败了,我想我可以用一堆IF语句来处理这个问题

答案1

这不是最漂亮或最优雅的,但它很简单而且效果很好:

  1. 将所有结果放在一列中。
  2. 将所有可能的答案放在结果旁边的列顶部。
  3. 使用一个简单的公式在结果列中搜索列标题中的值。(我过去SEARCH()根据您的问题执行不区分大小写的搜索。FIND()如果您想要区分大小写的结果,也可以使用。
  4. 如果找不到该值,则包含IFERROR()1 。
  5. 在底部添加总计行。

对于一次性的 grunt 搜索,这是一种从连接字段中获取有意义的数字的快速简便的方法。

截屏


1 Excel 2003 没有IFERROR工作表函数。解决方法是使用IF(NOT(ISERROR(...)))。在这种情况下,屏幕截图中的示例公式应为=IF(NOT(ISERROR(SEARCH(B$1,$A2)>0)),1,0)

答案2

我使用的方法是计算列中所有单元格的长度与删除特定答案后所有单元格的长度,然后将差值除以特定答案的长度。因此,您需要在该列的顶部或底部列出问题的每个可能答案,并插入一列以包含计数。然后在可能的替代方案旁边的空白单元格中输入如下公式:

=(SUM(LEN($B$6:$B$70))-SUM(LEN(SUBSTITUTE($B$6:$B$70,B1,""))))/LEN(B1)

必须以数组公式的形式输入,其中Ctrl- Shift-Enter

假设您的回答位于 B6:B70 中。这是区分大小写的,因此它不会在您的示例条件中挑选出小写的 c。

在此处输入图片描述

答案3

您可以使用文本到列使用自定义分隔符;#。(笔记您可能需要单独识别分隔符并告诉 excel treat consecutive delimiters as one)这将使文本分散到一行中。

然后你就可以了cutpaste special - transpose 这个过程的唯一缺点是,当你想插入单元格时,你需要在行之间插入单元格,paste special - transpose因为那样不行insert cells。你可以transpose用不同的方式插入单元格,然后cut - insert cells按照你想要的方式进行。

相关内容