
내 Windows 7 노트북의 OpenOffice 스프레드시트(버전 3.3.0)에 내 (279) DVD 목록이 있고 시청할 영화를 무작위로 선택하는 공식을 만들고 싶습니다. 정신). 이것은 작동합니다:
=RANDBETWEEN(1;279)
하지만 그것이 제공하는 것은 확인하기 위해 위아래로 스크롤해야 하는 숫자뿐이며 여기에는 '하드 코딩된' DVD의 총 개수도 포함되어 있습니다. 예를 들어 번호가 277이면 영화 이름(이 경우 'X-Men 2')이 표시되도록 영화 이름(A열에 있음)을 표시하고 싶습니다. 나는 다음과 같이 앞에 열 문자를 추가한다고 가정했습니다.
=A(RANDBETWEEN(1;279))
작동하지만 오류가 발생합니다: #NAME?
그럼 어떻게 해야 할까요...
- 영화 이름을 표시하도록 설정
- 새 DVD를 추가할 때 자동으로 상위 숫자를 감지하므로 이를 공식에 하드 코딩할 필요가 없습니다.
- 셀을 클릭하기만 하면 새로운 난수를 다시 생성할 수 있도록 하려면 어떻게 해야 합니까? (즉, Shift+Ctrl+F9를 눌러 수동으로 다시 계산할 필요가 없습니다)
감사해요.
답변1
A 열의 값을 반환하려면 행아르 자형, 당신이 사용할 수있는
=INDIRECT("A"&
아르 자형)
A 열의 값 수를 계산하려면 다음을 사용할 수 있습니다.
=COUNTA(A1:A65536)
따라서 귀하의 경우에는 다음을 사용할 수 있습니다.
=INDIRECT("A"&RANDBETWEEN(1;COUNTA(A1:A65536)))
자동으로 다시 계산되는 매크로 버튼을 만들 수도 있습니다. OpenOffice.org Calc의 매크로 언어에 대해 더 많은 도움을 드릴 만큼 지식이 부족합니다.
답변2
저는 귀하의 세 번째 요청을 처리할 수 있을 만큼 OpenOffice의 내부 구조에 대해 충분히 잘 알지 못합니다. 다만 일반 F9가 저에게 적합하고 교대나 제어가 필요하지 않다고 말하는 것 외에는 말이죠. 하지만 나머지 두 개는 다음과 같습니다.
=INDIRECT(ADDRESS(RANDBETWEEN(1,MATCH("*",$A$1:$A$50000,-1)),1))
50000
50000개 이상의 DVD를 가지고 있거나 가질 것으로 생각되는 경우 를 더 큰 것으로 바꾸고 , 이외의 열에 있는 경우 함수 1
의 을 바꾸십시오 .ADDRESS()
A
답변3
- Bavi_H의 답을 셀
B1
(=INDIRECT("A"&RANDBETWEEN(1;COUNTA(A1:A65536)))
) 에 입력하세요. - 너비와 높이를
B1
멋지고 크게 만드세요. B1
긴 영화 제목이 잘 맞도록 선택한 큰 크기의 매력적인 글꼴 형식- 열의 셀을 선택
A
하고 메뉴 항목을 선택하십시오.Format > Column > Hide
Tools > Macros > Record Macros
메뉴 항목을 선택하세요- F9(또는 Ctrl-Shift-F9)를 누르세요.
Stop Recording
버튼 을 클릭하세요- 나타나는 필드
Basic Macros Dialog
에 "새로 고침"과 같은 이름을 입력하고 상자Macro name
에서 스프레드시트를 선택한 다음Save macro in
클릭Save
하고 "영화"와 같은 모듈 이름을 입력하고OK
- 메뉴 항목을 선택하세요
View > Toolbars > Form Controls
Design Mode
해당 도구 모음에서 버튼이 켜져 있는지 확인하세요.Form Design
양식 디자인 도구 모음을 표시하려면 버튼 을 누르세요.- 도구 모음 내에서 버튼을
Form Design
끕니다.Open in Design Mode
- 툴바 에서 버튼
Form Controls
을 클릭하세요.Label Field
- 셀 B1의 왼쪽 상단에서 오른쪽 하단으로 커서를 끌어 셀과 동일한 크기의 레이블 필드를 만듭니다.
- 셀/레이블을 마우스 오른쪽 버튼으로 클릭하고
Control...
상황에 맞는 메뉴에서 항목을 선택합니다. - 탭 을 선택한 다음 필드
General
에서 텍스트를 삭제하세요.Label
- 탭 을 선택하고 버튼
Events
을 클릭하세요....
- 대화 상자 에서 버튼
Assign Action
을 클릭하십시오.Macro...
- 대화 상자 에서 이전에 사용한 모듈 이름(예: "movies")이 보일 때까지 상자
Macro Selector
의 스프레드시트 아래 항목을 확장하고 클릭합니다.Library
- 상자 에서
Macro name
이전에 생성한 매크로(예: "새로 고침")를 선택합니다. - 을 클릭하고
OK
오른쪽 상단에 있는 버튼을 클릭하여 상자를OK
닫습니다.Properties
X
- 도구 모음 에서
Form Controls
끄기Design Mode
- 이제 셀을 클릭하면
B1
거기에 표시된 영화 이름이 변경되어야 합니다. - 원하는 경우 도구 모음을 닫으세요.
- 스프레드시트를 저장하기 전에 , 및 매우 깔끔한 모양을 위해
Tools > Options > OpenOffice.org Calc > View
이동하여 끌 수 있습니다 . 다음에 새 빈 스프레드시트를 만들 때 이러한 기능을 다시 켜야 할 수도 있습니다.Window:
Column Headers and Rows
Horizontal Scroll Bars
Vertical Scroll Bars
Sheet tabs
- 스프레드시트 저장
- ???
- 이익
답변4
쉽게 하려면 A 열에 DVD에 번호를 매기고 B 열에 DVD 이름을 입력하세요. ( A2 = A1 + 1
더 쉽게 만들고 싶다면 공식을 사용하여 번호를 매길 수 있습니다.)
열 레이블이 있는 경우 n = DVD가 시작되는 위의 행 수라고 가정합니다.
=INDEX(B:B, RANDBETWEEN(1, MAX(A:A)) + n, 1)