반응형

Textjoin 9

중괄호 안에 값을 넣어 배열 만들기 (4)

이전 내용은 아래 글을 참고 바랍니다.https://lsw3210.tistory.com/549 (다) Mid 함수의 가져올 문자의 개수 구하기H열에서 G열의 값을 빼면 가져올 문자의 개수가 되는데,마찬가지로 L열이 공백이므로 Len함수를 이용해 길이가 0보다 클 때는 빼고, 아니면 10이라고 하면 됩니다 L열을 비워둔 것은 숫자를 빼서 다섯 개를 만들어야 하므로 6번째를 비워둔 것입니다. 수식은 =IF(LEN(H2),H2-G2,10)이 됩니다. 뺀 값인 5,2,4,9가 구해지고, 값이 비워있을 때 10을 반환해서 모두 맞는 값입니다. Q2셀의 채우기 핸들을 Q5셀까지 끕니다. 5행만 네번째 값이 9가 아닌 3으로 다른데, '도청로'의 길이입니다. (라) TextJoin으로 연결하기이제 시작 위치와 문자의..

Excel 2024.07.25

중괄호 안에 값을 넣어 배열 만들기 (2)

3. 배열 이용하기 가. 문자열 일정한 간격으로 공백 넣기아래와 같이 주소가 공백 없이 붙어 있을 경우 세 글자마다 공백을 넣어보겠습니다.  (1) Concat과 Mid 함수를 이용한 방법문자열의 일부분을 추출할 때는 Mid 함수를 사용할 수 있습니다.물론 왼쪽 3글자를 추출할 때 Left 함수를, 오른쪽 3글자를 추출할 때는 Right 함수를 사용할 수도 있지만모두 Mid 함수를 이용해 수식을 작성할 수도 있습니다. Mid 함수의 구문은MID(text,start_num,num_chars)로서 text는 문자열로 문자열을 직접 입력할 수도 있지만, 보통 셀 주소로 입력하며,start_num은 시작 위치로 숫자로 입력하고,num_chars는 가져올 문자의 개수를 의미입니다. (가) Left와 Right 함..

Excel 2024.07.23

문장에서 일치하는 단어 찾기 (3)

나. 세 번째 방법 (1) Concat과 Concatenate 함수첫 번째와 두 번째 방법에서 모두 IsNumber와 Find 함수를 사용했는데,  이번에는 Concat 함수를 사용해 보겠습니다. Concat 함수의 구문은CONCAT(text1, [text2],…)로서text 여러 개를 결합한 값을 반환해 주는 함수입니다.연산자 &와 같은 역할을 합니다. 비슷한 최신 함수인 TextJoin함수의 경우는 두 텍스트를 연결할 때 delimiter(구분자)를 사용할 수 있는데, Concat 함수는 없는 단점이 있습니다. CONCAT은 CONCATENATE 함수를 대체하는데, 엑셀이 Concat 함수를 지원하지 않는다면 Concatenate 함수를 사용할 수밖에 없을 것입니다. (2) If 함수를 이용해 IsN..

Excel 2024.07.02

주소를 PNU로 만들기(2) (보완) - '산' 다음에 공백이 없는 경우

1. 필지구분 구하기가. Match 함수 이용하기필지구분(산 또는 일반)을 구하는 수식이 =IF(C2="산*",2,1)라고 되어 있는데, Match함수를 이용하면=IF(ISNUMBER(MATCH("산*",C2,0)),2,1)라고도 할 수 있고,=IF(ISERROR(MATCH("산*",C2,0)),1,2)라고도 할 수 있습니다. 그러나, =IF(ISERROR(MATCH("산",C2,0)),1,2)라고 *를 없애면 안 됩니다. 나. CountIf 함수 이용하기=IF(COUNTIF(C2,"산*"),2,1)로 Match 함수와 달리 IsError 함수나 IsNumber 함수를 사용하지 않고,CountIfs 함수의 인수의 위치가 Match와 다르고,If 함수의 참일 때 값과 거짓일 때 값의 위치가 바뀐 점이 다릅..

Excel 2024.06.20

문자열 중 원문자 지우기(3) - TextJoin, Sequence

이번에는 Textjoin 함수를 이용해 원문자가 아닌 글자만 결합하는 수식을 작성해 보겠습니다. 마찬가지로 B3셀을 갖고 원문자를 제외한 글자만 결합하는 수식을 B18셀에 작성해 보겠습니다. 1. TextJoin 함수TextJoin 함수의 구문은 TEXTJOIN(delimiter, ignore_empty, text1, [text2], …)로서첫 번째 인수는 구분자, 두 번째는 빈 셀을 무시할지 여부, 세 번째부터는 결합한 문자열입니다. 그런데 여기서는 글자를 하나씩 가져와서 Unicode가 9312보다 작거나 9331보다 크다면 결합하지 않는 것으로 하면 됩니다. 2. 수식가. 조건식 만들기첫 번째 인수인 결합할 때 사용할 구분자는 없으므로 공백으로 하고,두 번째 빈셀 무시도 예이므로 입력하지 않고 넘어..

Excel 2024.05.13

이름 기준으로 중복 데이터 제거 및 데이터 병합하기

1. 문제 1번과 같이 원시 데이터는 이름, 번호, 주소가 중복되는데, 품목과 수량을 건별로 입력되어 있습니다. 2. 해법 엑셀 버전에 따라 안될 수도 있습니다. 가. 구문 Unique 함수 구문 : =UNIQUE(array,[by_col],[exactly_once]) Unique 함수 구문 : =SEQUENCE(rows,[columns],[start],[step]) TextJoin 함수 구문 : TEXTJOIN(delimiter, ignore_empty, text1, [text2], …) 나. 적용 예 B23셀 : =UNIQUE(TRIM(B3:D9)) => 결과 : 이름, 전화번호, 주소의 유일한 값만 구해줍니다. Trim함수는 텍스트의 좌, 우 공백을 제거하는 함수입니다. 위 데이터에서 주소를 보면 ..

Excel 2024.04.22

중복된 값은 제외하고 문자열 연결하기

1. 문제 B열부터 D열까지 고객, 쿠폰, 전화번호를 연결하는데 전화번호가 1개라면 한번씩만 연결하면 되는데, 6행에서 8행까지는 전화번호가 같으므로 한번 고객, 쿠폰과 전화번호를 연결한 다음부터는 쿠폰 번호만 연결하려고 하는 것입니다. 경우에 따라 결합을 달리해야 하기 때문에 문제가 되는 것입니다. 2. 해법 1 : TextJoin 함수 적용 엑셀 버전이 TestJoin 함수를 지원하지 않는다면(안된다면) 3번을 참고 바랍니다. ​ 규칙이 고객, 쿠폰 번호, 전화번호를 연결해서 표시하는 것인데, 전화번호가 같으면 고객과 전화번호는 제외하고 쿠폰 번호만 연결하는 것입니다. ​ 따라서, 전화번호의 개수를 계산한 후 1개면 고객부터 전화번호까지 모두 연결하면 되고, ​ 1개를 초과하면 고객부터 전화번호까지를..

Excel 2024.03.12

근무표 유형 변경하기(365 버전용)

1. 문제 아래와 같이 직원별, 일자별 근무 현황이 있는데, 근무 유형별, 일자별로 누가 근무했는지와 시간외근무를 오른쪽 '시간외근무 유형'에 따라 괄호 안에 시간수를 입력해서 표시하려고 하는 것에서 앞의 문제는 간단하니 넘어가고 뒷부분의 문제만 365 버전용 함수를 이용해 풀어보겠습니다. 2. 해결 방안 1 Scan 함수와 IFs 함수 등을 이용해 줄 별로 결과를 추출하는 수식을 만들어 봤습니다. ​ O2셀 : =TEXTJOIN(",",,SCAN("",OFFSET($B$3:$B$8,,ROWS(C$3:$C3)-1),LAMBDA(a,b,IF(LEFT(b,3)="시간외",OFFSET($A$3,ROW(b)-3,0),"")&IFS(b="시간외1","(1)",b="시간외2","(2)",b="시간외3","(2)",..

Excel 2024.03.11

근무표 유형 변경하기(365 이전 버전용)

1. 문제 아래와 같이 직원별, 일자별 근무 현황이 있는데, 근무 유형별, 일자별로 누가 근무했는지와 시간외근무를 오른쪽 '시간외근무 유형'에 따라 괄호 안에 시간수를 입력해서 표시하려고 합니다. 원 데이터는 다른 시트에 있는건데 이해와 설명의 편의를 위해 한 개 시트에 모았습니다. 2. 해결 방안 365 버전용 함수를 이용하는 방법과 이전 버전용 함수를 이용하는 두 가지 방법에 대해 알아보겠습니다. 가. 365 이전 버전 (1) d1, d2, n1, n2 유형에 따라 일자별 근무자 및 괄호안에 숫자 표시 일자와 유형 2가지 조건을 만족해야 하므로 두가지 조건을 * 연산자로 연결하면 =($B$3:$H$8=K$2)*($B$2:$H$2=$J3)이 되는데, #분산!라고 표시되고, 6*7의 크기로 테두리가 쳐집..

Excel 2024.03.08
반응형