임의 데이터로 차트를 생성하고 있습니다.

Date Value 1/1/2018 123 1/2/2018 453 

값을 생성하지만 항상 재 계산하지는 않습니다. RAND의 재 계산을 억제하는 방법은 무엇입니까?

답변

짧은 대답은 “할 수 없습니다”입니다 (적어도 스크립트 없이는 안 됨). 그러나 작업이 본질적으로 과학적이지 않다면 “무작위”숫자가 필요하지 않고 예측할 수없는 숫자 만 필요합니다. (사실 기술적으로 RAND조차도 참을 생성하지 않습니다. 난수; 오히려 복잡한 알고리즘을 사용하여 … 음, 예측할 수없는 숫자를 생성합니다.)

알다시피 문제는 RAND입니다. 다시 계산합니다. 그러나 우리는 날짜로부터 “의사 난수”숫자를 생성하는 수식을 얼마든지 작성할 수 있습니다. 예를 들어, 날짜가 A 열에 있고 B 열에 “무작위 숫자”가 있다고 가정하면 다음과 같이 B2에 입력하고 필요한만큼 복사 할 수 있습니다.

=VALUE(TEXT(INT(((A2*COS(DAY(A2))*PI())-INT(A2*COS(DAY(A2))*PI()))*1000)+IF(INT(((A2*COS(DAY(A2))*PI())-INT(A2*COS(DAY(A2))*PI()))*1000)<100,WEEKDAY(A2)*100,0),"000"))

이것은 날짜의 특징을 사용하여”의사 난수 “3 자리 숫자를 생성합니다.

과도하게 복잡한 공식은 그게 전부가 아닙니다. 중요합니다. 방금 몇 가지 수학 함수를 함께 뭉쳤습니다. 다른 수학 함수를 끝없이 조합했을 수도 있습니다.

그러나 “고유하고 반복되지 않는”숫자가 필요한 경우 (예 : Zapier와 같은 플랫폼 — 실제로 필요한 것은 날짜 자체의 숫자 형식입니다.

=VALUE(A2)

… 필요에 따라 복사 .

두 수식 중 하나를 약간 변경하여 배열 수식으로 사용할 수 있습니다 (예 : 한 셀에 배치하고 전체 열 채우기).

=ArrayFormula(IF(A2:A = "", "", VALUE(TEXT(INT(((A2:A*COS(DAY(A2:A))*PI())-INT(A2:A*COS(DAY(A2:A))*PI()))*1000)+IF(INT(((A2:A*COS(DAY(A2:A))*PI())-INT(A2:A*COS(DAY(A2:A))*PI()))*1000)<100,WEEKDAY(A2:A)*100,0),"000")))

=ArrayFormula(IF(A2:A = "", "", VALUE(A2:A))

답변

Google 스크립트

도구> 스크립트 EDI tor

그런 다음 함수를 만듭니다. 기능을 버튼이나 다른 이벤트에 연결해야합니다.

숫자를 입력하려면 범위를 선택해야합니다. 그런 다음 값을 with 및 배열 배열에 넣으십시오. 행의 배열처럼 생각하세요.

다음은 제 Google 스크립트 샘플입니다.

function generateNumbers () { var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheets()[0]; var randNumberRows = [] var i; for (i = 0; i < 20; i++) { var row = [] row.push(randInt(-20,20)); row.push(randInt(-20,20)); row.push(randInt(-20,20)); randNumberRows.push(row); } var range = sheet.getRange("A2:C21"); range.setValues(randNumberRows); } function randInt(start, end) { // range is from start to end + 1 so it is inclusive r = end - start + 1 return Math.floor(Math.random() * r) + start; } 

답변

오늘 밤 같은 질문을 조사하던 중 https://www.ssl.berkeley.edu/~mlampton/RandomSpreadsheet4.pdf

해당 문서의 수식을 사용하여 몇 분 안에 자신 만의 의사 난수 생성기를 만들 수 있습니다. 그러면 시드를 변경할 때만 변경되는 난수 목록이 제공됩니다.

답변

간단하고 쉬운 솔루션, 간단한 두 가지 간단한 해결 방법 :

  • Excel 사용 : Excel에서 원하는만큼 난수 생성, 복사 붙여 넣기, 완료

  • 메모장 : Google 스프레드 시트에서 생성하고 메모장에 복사하여 붙여 넣은 다음 다시 복사하여 붙여 넣기 완료

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다