PowerLaw현상의 한가지. FirstDigitLaw라고도 한다. [[WikiPedia:Benfords_law]] http://mathworld.wolfram.com/BenfordsLaw.html 자연계에 존재하는 모든 "수치"값들의 첫째자리는 PowerLaw를 따른다는 법칙. "1"이 될 확률이 대략 30% {{http://upload.wikimedia.org/wikipedia/commons/thumb/4/46/Rozklad_benforda.svg/512px-Rozklad_benforda.svg.png}} 자네가 지금 가지고 있는 금액이 총 얼마야? 라는 질문의 답의 첫째자리숫자는 대략 30%는 1 이어야 한다. 그렇지 않다면 거짓이라는 얘기. ExcelVba 스크립트 (특정 파일의 모든 쉬트의 수치값들에 대해, 레포트 쉬트를 작성함. 현재 예외처리 미흡.) {{{ Sub makeBenfordsReport() Dim FirstDigits(1 To 9) As Integer For i = 1 To 9 FirstDigits(i) = 0 Next i On Error Resume Next For Each Worksheet In Worksheets For Each rngCell In Worksheet.UsedRange FirstDigit = Left(rngCell.Value, 1) FirstDigits(FirstDigit) = FirstDigits(FirstDigit) + 1 Next rngCell Next Worksheet Sheets.Add ActiveSheet.Name = "BenfordsReport" For i = 1 To 9 ActiveSheet.Cells(i, 1) = FirstDigits(i) Next i End Sub }}} ---- 반농담으로 회계장부에 있는 숫자들을 분석해서 비리 여부를 밝히는 시스템을 만들어보자는 얘기를 했었죠. ; )--[[안용열]] ''그럴듯합니다. ExcelVba함수같은것으로 만들어서 체크해보는 것도 괜찮겠네요. 어쩌면 그런 기능이 이미 있는지도... 잠깐 찾아봤는데, 대부분의 ExcelVba자료는 유료네요.'' --[[yong27]], 2005-05-23