2

我最近做了一个调查,最多有 10 个问题。现在我需要根据这些值创建一个图表,但我被卡住了。数据如下:

Customer ID Q1  Q2  Q3  Q4  Q5                      Q6  Q7  Q8  Q9  Q10
1797493605  Yes Yes Yes Yes Compare totals          Yes Yes Yes Yes None of the above
1797155787  Yes Yes Yes Yes Compare prices          Yes Yes No  Yes None of the above
1797116920  Yes Yes Yes Yes Compare totals          No  No  Yes No  Catalogues
1797105343  Yes Yes Yes Yes Compare prices          Yes Yes Yes Yes None of the above
1797076252  Yes Yes Yes Yes Same places             Yes Yes Yes No  None of the above
1797015113  No  No  No  No  Everything online       No  No  No  No  None of the above
1796959310  Yes Yes Yes Yes Compare prices          Yes No  No  Yes None of the above
1796950913  Yes Yes Yes Yes Compare prices          Yes Yes Yes Yes Catalogues
1796931846  Yes Yes No  Yes Compare prices          Yes No  Yes Yes Email/SMS

我尝试使用 Excel 正常功能,但它只是没有提供正确的图表。

想要得到一个条形图,每个问题都有 2 个条形 - 每个答案。X 轴代表问题,Y 轴代表回答的人数?

那么数据值是否应该是实际的 Yes, No, ?如果是这样,怎么做?

4

3 回答 3

1

如果我理解正确,您不关心客户 ID。

您想要获得的是这种格式的网格,其中第 1 行是您的标题(我在这里捏造数字):

|     |  A   |  B  |  C   |
===========================
|  1  |  Q   |  #Y |  #N  |
|  2  |  Q1  |  6  |  1   |
|  3  |  Q2  |  5  |  2   |
|  4  |  Q3  |  2  |  5   |

为了填充单元格B2(其中包含 的YES答案# Q1,您可以对您的网格使用像这样的公式:

=SUMIF($B$2:$B$10,"YES")

SUMIF()公式计算网格 Q1 列中“是”响应的数量。

(我假设在您的网格中,“Q1”响应包含在 Cells B2thruB10中。)

构建该表,然后您将能够突出显示该表,单击 Excel 图表向导,并将其操作到您正在寻找的条形图中。

如果这不是您的答案,您将需要更具体地说明您想要实现的目标。

于 2012-04-19T16:51:13.257 回答
1

如果我正确理解您的问题,您希望使用您显示的数据格式创建一个特定的条形图。

正如 Marc 指出的那样,要在原生 excel 中创建所需的图形,您必须重新排列数据。

但是,如果您想保持数据格式相同,我建议您编写 Javascript 以在 excel 中绘制此图表。这是我为您编写的工作代码:

https://www.funfun.io/1/edit/5a463a3fb848f771fbcdef58

我在这个例子中所做的首先是使用 json 文件获取数据:

{ "data": "=A1:J9" }

访问它后,我使用 javascript 选择我需要的数据并选择一个库来创建我的条形图(这里我使用了 chart.js,它很容易使用):

  var myBarChart = new Chart(ctx, {
  type: 'bar',
  data: data,
  options: {
    title: {
        display: true, 
       text: "Excel chart with multiple survey results" 
      },
    barValueSpacing: 20,
    scales: {
      yAxes: [{
        ticks: {
          min: 0,
          max: 10
        }
      }]
    }
  }
});

如果这是您想要的图表,您可以通过将 URL 粘贴到Funfun 插件中,直接将我的代码与您的电子表格一起加载。这是它的样子:

https://i.stack.imgur.com/LWjZc.png

您当然可以在在线编辑器或 Excel 的嵌入式编辑器中修改代码。您可以添加不同于Yes或的其他标签No,您可以为每个名为 的问题添加第三条Compare price

理论上,您可以编写任何您想要的代码,包括使用强大的库(如 chart.js 和 plotly.js)创建复杂的图表。

我希望我回答了你的问题,如果没有,请不要犹豫在下面发表评论。

披露:我是 Funfun 的开发者。

于 2018-01-05T13:19:31.057 回答
0

听起来你想要一张桌子。客户 ID 作为列标题,Q1-Q10 作为行标题。你所呈现的内容的转置版本。

于 2012-04-18T18:07:58.860 回答