기 타 엑셀 수식좀 알려주세요... 도움 요청드립니다.
2022.10.15 10:49
조건1) | A | 사이값 : 1000~1200 | =IF(B1="A",ROUND(RANDBETWEEN(1000,1200),-1)) | |||||
조건2) | B | 사이값 : 1000~1200 | =IF(B1="B",ROUND(RANDBETWEEN(1000,1200),-1)) | |||||
조건3) | C | 사이값 : 1000~1200 | =IF(B1="C",ROUND(RANDBETWEEN(1000,1200),-1)) | |||||
조건4) | D | 사이값 : 1000~1200 | =IF(B1="D",ROUND(RANDBETWEEN(1000,1200),-1)) | |||||
조건5) | E | 사이값 : 1000~1200 | =IF(B1="E",ROUND(RANDBETWEEN(1000,1200),-1)) | |||||
조건6) | F | 사이값 : 1000~1200 | =IF(B1="F",ROUND(RANDBETWEEN(1000,1200),-1)) | |||||
조건7) | G | 사이값 : 1050~1350 | =IF(B1="G",ROUND(RANDBETWEEN(1050,1350),-1)) | |||||
조건8) | H | 사이값 : 1050~1350 | =IF(B1="H",ROUND(RANDBETWEEN(1050,1350),-1)) | |||||
안녕하세요. 위와 같이 조건 8개 있는데, | ||||||||
조건 A 값이 들어가면 범위값으로, 1000~1200 (자리값 : 10단위적용) 으로 임의값이 출력 | ||||||||
조건 B 값이 들어가면 범위값으로, 1000~1200 (자리값 : 10단위적용) 으로 임의값이 출력 | ||||||||
조건 C 값이 들어가면 범위값으로, 1000~1200 (자리값 : 10단위적용) 으로 임의값이 출력 | ||||||||
조건 D 값이 들어가면 범위값으로, 1000~1200 (자리값 : 10단위적용) 으로 임의값이 출력 | ||||||||
조건 E 값이 들어가면 범위값으로, 1000~1200 (자리값 : 10단위적용) 으로 임의값이 출력 | ||||||||
조건 F 값이 들어가면 범위값으로, 1000~1200 (자리값 : 10단위적용) 으로 임의값이 출력 | ||||||||
조건 G 값이 들어가면 범위값으로, 1050~1350 (자리값 : 10단위적용) 으로 임의값이 출력 | ||||||||
조건 H 값이 들어가면 범위값으로, 1050~1350 (자리값 : 10단위적용) 으로 임의값이 출력 | ||||||||
★★ 위의 전체 조건을 1개의 수식으로 만드는 방법을 좀 알려주시면 좋겠습니다. | ||||||||
현재 엑셀 2010 버전을 사용중이라, 도움말을 눌러도 되지를 않네요… ㅠ.ㅠ | ||||||||
B1 에, A,B,C,D,E,F,G,H 중에 1개 를 넣었을때, C1에 임의값을 표시하는 1개의 수식을 좀 알려주시길 부탁드립니다. | ||||||||
감사합니다. ^^ |
|
댓글 [10]
-
UU自適 2022.10.15 11:36
-
평화 2022.10.15 11:51
^^ 감사합니다.
덕분에 잘 해결되었습니다. ^^*
-
지후빠 2022.10.15 12:29
좀 전에 메아리님의 수준 높은 수식이 있었는데 사라졌네요.ㅜㅜ 상대참조와 괄호만 추가하였습니다.
=CHOOSE(INT((CODE(B1)-CODE("A"))/6)+1,ROUND(RANDBETWEEN(1000,1200),-1),ROUND(RANDBETWEEN(1050,1350),-1))
위 수식이 어렵다 느껴지시면 다음처럼...
=IF(OR(B1="A",B1="B",B1="C",B1="D",B1="E",B1="F"),ROUND(RANDBETWEEN(1000,1200),-1),IF(OR(B1="G",B1="H"),ROUND(RANDBETWEEN(1050,1350),-1),"입력오류"))
-
메리아 2022.10.15 12:30
괄호 잘못 처리해서 밥먹고 다시 쓰려고 지웠습니다 ㅠㅠ
거의 1~2분 만에 지운거 같은데 잘 보셨네요 ㅋ
-
메리아 2022.10.15 12:42
뒤에 추가하신 수식이 훨씬 좋아보이네요
제가 한건 중간에 빠진 조건이 있거나 연속문자가 아니거나 조건에 따른 명칭이 싹 달라지거나 하면
조금이라도 변동이 생기면 거의 못 쓰게 되거든요.
뒤에 올리신 수식은 그런 조건의 변화에 대한 대응이 훨씬 쉽군요.
저는 단순히 줄여보는데만 신경써서... ㅠㅠ
-
지후빠 2022.10.15 12:43
일하면서 잠깐씩 왔다갔다 하면서 봅니다. 마침 이 게시물이 띄워져 있는 상태라서 확인할 수 있었습니다.
좋은 수식이라 잠시 감상?하였습니다. ^^
-
메리아 2022.10.15 12:46
일하시는 중이라니
토요일에도 고생 많으십니다 ㅠㅠ
-
메리아 2022.10.15 12:30
=CHOOSE(INT((CODE($B$1)-CODE("A"))/6)+1,ROUND(RANDBETWEEN(1000,1200),-1),ROUND(RANDBETWEEN(1050,1350),-1))
저는 이렇게 해봤습니다.
내용을 해설해보자면
CHOOSE(num,출력1,출력2...) : num 숫자에 따라 뒤의 값을 선택. 1번부터 시작.
CODE(문자열) : 문자를 아스키코드로 표시 "A"는 65가 나옴.
INT(숫자) : 내림(버림)
INT((CODE($B$1)-CODE("A"))/6)+1 :
A,B,C,D,E,F 와 G,H로 연속된 문자로 조건을 구분할 수 있으므로, 구분단위를 6으로 삼음.
B1의 값이 "C"일경우 INT((67-65)/6)+1 가 되므로 값은 1 , =CHOOSE(1,출력1,출력2) 에서 출력1이 나옴
B1의 값이 "G"일경우 INT((71-65)/6)+1 가 되므로 값은 2 , =CHOOSE(2,출력1,출력2) 에서 출력2가 나옴
물론 대소문자는 분명히 가려야합니다.
만약 대소문자 구분없이 하려면 아래와 같이 하면 됩니다. (UPPER함수 추가)
=CHOOSE(INT((CODE(UPPER($B$1))-CODE("A"))/6)+1,ROUND(RANDBETWEEN(1000,1200),-1),ROUND(RANDBETWEEN(1050,1350),-1))
-
평화 2022.10.15 15:29
지후빠님과 메리아 님의 좋은 말씀과 수식... 감사합니다.
실력이 부족하여...
=IF(OR(B1="A",B1="B",B1="C",B1="D",B1="E",B1="F"),ROUND(RANDBETWEEN(1000,1200),-1),IF(OR(B1="G",B1="H"),ROUND(RANDBETWEEN(1050,1350),-1),"입력오류")) 이것이 제게는 가장 좋아 보이네요... ^^*잘못 넣으면 입력오류 라고 표시도 해주고... ^^*오늘도 좋은날 되시길 바라며,,, 즐거운 시간되세요~~~감사합니다. ^^* -
join 2022.10.17 14:42
=IF(OR(B1="A",B1="B",B1="C",B1="D",B1="E",B1="F"), - 이것을
=IF(OR(B1={"A","B","C","D","E","F"}),
이렇게 하셔도 됩니다.
다른 쉬운 방법이 있겠지만, 저는 이렇게 합니다.
=(IF(B1="A",ROUND(RANDBETWEEN(1000,1200),-1), IF(B1="B",ROUND(RANDBETWEEN(1000,1200),-1), IF(B1="C",ROUND(RANDBETWEEN(1000,1200),-1), IF(B1="D",ROUND(RANDBETWEEN(1000,1200),-1), IF(B1="E",ROUND(RANDBETWEEN(1000,1200),-1), IF(B1="F",ROUND(RANDBETWEEN(1000,1200),-1), IF(B1="G",ROUND(RANDBETWEEN(1050,1350),-1), IF(B1="H",ROUND(RANDBETWEEN(1050,1350),-1))))))))))