Excel中的本福德定律

时间:2013-04-25 23:22:56

标签: excel excel-vba distribution statistics benfords-law vba

我有一个庞大的数据集,我希望能够根据本福德定律对其进行测试。

到目前为止,我一直在提取第一个数字,并根据

创建一个图表
=LEFT(A1,1)*1

我将公式乘以1,因为LEFT将数字转换为字符串。

我希望自动执行此程序。有没有办法用VBA或更简单/更优雅的公式来做到这一点?

2 个答案:

答案 0 :(得分:0)

这是一个想法。

假设您的数据位于单元格A1:A100中,而您的工作簿名为“Benford”。

  • 使用功能区的“插入”选项卡上的“名称管理器”,创建一个新的命名范围,例如“digits”,定义为=VALUE(LEFT(A1:100,1))。名称管理器会自动将此等式的结果视为数组。

  • 将图表插入工作簿,无需选择数据范围。该图表将完全空白。

  • 选择图表,然后在“图表工具”选项卡中,按“选择数据”按钮。

  • 当“选择数据源”对话框打开时,再次指定数据范围,而是点击“添加系列”。

  • 在出现的“编辑系列”框中,将“系列值”设置为=Benford!digits。工作簿参考很重要:Excel不会在此处接受明确定义的名称。

  • 如果最初数据未在图表上显示,只需使用F9键手动重新计算工作表。

然后,您可以根据需要添加标题,轴标签等。

这可以通过VBA自动化;这是否有意义取决于您的需求。

答案 1 :(得分:-1)

我确信您可以像任何人一样使用Google。我搜索了“本福德定律的excel公式”。我很确定第一个结果就是你要找的东西。

这是链接: http://www.isaca.org/Journal/Past-Issues/2010/Volume-1/Pages/Using-Spreadsheets-and-Benford-s-Law-to-Test-Accounting-Data1.aspx

它涵盖测试引导数字,如何使用benford定律以及一些有用的做法和注意事项。这应该可以帮到你。

仅供参考 - ISACA是一个审计标准组织。它们的内容旨在用于专业应用程序。

祝你好运!