사용 도구 제한 없음 , 엑셀, VBA, 파이썬, 기타등등
좌표계산을 위한 보조함수 fX 사용, 좌표별 표식배열 DR만들고, Filter후 마지막 기호 표시
=LET(SR,AE2, SC,AF2, DT,표1,TL, {"L",0,-1,"←";"R",0,1,"→";"U",-1,0,"↑";"D",1,0,"↓";"LU",-1,-1,"↖";"LD",1,-1,"↙";"RU",-1,1,"↗";"RD",1,1,"↘"},fX, LAMBDA(fa,fb, REDUCE(fa, SEQUENCE(INDEX(fb,2)), LAMBDA(t,r, VSTACK(t, HSTACK(INDEX(t,ROWS(t),1)+VLOOKUP(INDEX(fb,1),TL,2,0),INDEX(t,ROWS(t),2)+VLOOKUP(INDEX(fb,1),TL,3,0),VLOOKUP(INDEX(fb,1),TL,4,0)))))),DR, REDUCE(HSTACK(SR,SC,"S"), SEQUENCE(ROWS(DT)), LAMBDA(t,r, fX(t,INDEX(DT,r,0)))),MAKEARRAY(20,20,LAMBDA(r,c, TAKE(FILTER(CHOOSECOLS(DR,3), (CHOOSECOLS(DR,1)=r)*(CHOOSECOLS(DR,2)=c),""),-1))) )
좌표기준으로 groupby해서, 화살표모양을 take(x,-1)해서 마지막것을 가져오도록 처리하고 makearray로 해당좌표 vlookup해서 출력함.
=LET(str,CONCAT(REPT(INDEX(표1,,1)&"/",INDEX(표1,,2))),drData,TEXTSPLIT(str,,"/",TRUE),ptS,COMPLEX(AE2,AF2),vD,TEXTSPLIT("R,i,→;L,-i,←;U,-1,↑;D,1,↓;RU,-1+i,↗;RD,1+i,↘;LU,-1-i,↖;LD,1-i,↙",",",";"),좌표,SCAN(ptS,drData,LAMBDA(a,b,IMSUM(a,VLOOKUP(b,vD,2,0)))),gData, VSTACK(HSTACK(ptS,"S"), GROUPBY(좌표, VLOOKUP(drData,vD,3,0),LAMBDA(x,TAKE(x,-1) ),0,0)),rMax, MAX(20,IMREAL(INDEX(좌표,,1))), cMax, MAX(20,IMAGINARY(INDEX(좌표,,1))),grid, COMPLEX(SEQUENCE(rMax), SEQUENCE(,cMax)),IFERROR(VLOOKUP(grid,gData,2,0),""))
삼각형 만들기입니다.직각이나 이등변이나 다 같고일반삼각형이 사다리꼴이 되었네요ㅠㅠ
좌표를 예전방식인 소수점으로 처리하여 덧셈으로 처리
=LET(ST,(AE2+AF2/100)&",S",DT,표1, TL,TEXTSPLIT("L,-0.01,←;R,0.01,→;U,-1,↑;D,1,↓;LU,-1.01,↖;LD,0.99,↙;RU,-0.99,↗;RD,1.01,↘",",",";"),TT, TEXTSPLIT(CONCAT(REPT(TAKE(DT,,1)&",",TAKE(DT,,-1))),,","),TR, VSTACK(ST,SCAN(ST, TT, LAMBDA(b,c, (TEXTBEFORE(b,",")+VLOOKUP(c,TL,2,0)) &"," & VLOOKUP(c,TL,3,0)))),fX, LAMBDA(x, MAKEARRAY(20,20,LAMBDA(r,c, IF(r+c/100=TEXTBEFORE(x,",")*1,TEXTAFTER(x,","),NA())))),IFERROR( REDUCE(fX(""),TR,LAMBDA(b,c, IFERROR(fX(c),b))),""))
fX에서 makearray가 매번 호출된다면 부하가 많이 걸릴듯하네요..
전 원조백수님 처음 수식을 선택하겠습니다..^^
요새 AI에게 일만 시키고 생각이란걸 안하니 쉬운 생각도 놓치네요...조견표에 'S'를 추가하여 좀 더 단순하게 처리한 것입니다.
=LET(DT,VSTACK({"S",1},표1), ST, AE2+AF2/100,TL, TEXTSPLIT("S,"&ST&",S;L,-0.01,←;R,0.01,→;U,-1,↑;D,1,↓;LU,-1.01,↖;LD,0.99,↙;RU,-0.99,↗;RD,1.01,↘",",",";"),TT, TEXTSPLIT(CONCAT(REPT(TAKE(DT,,1)&",",TAKE(DT,,-1))),,","),TR, HSTACK(SCAN(0,TT,LAMBDA(b,c,ROUND(b+VLOOKUP(c,TL,2,0),2))),VLOOKUP(TT,TL,3,0)),IFERROR(MAKEARRAY(20,20,LAMBDA(r,c, VLOOKUP((r+c/100),TR,2,0))),""))
오빠두엑셀에서 유튜브 PD 및 프리랜서 편집자를 채용중입니다. 엑셀·오피스·AI 콘텐츠를 함께 만들어갈 분들의 많은 지원 부탁드립니다.
대상 URL을 입력하세요
또는 기존의 콘텐츠에 링크
좌표계산을 위한 보조함수 fX 사용, 좌표별 표식배열 DR만들고, Filter후 마지막 기호 표시
좌표기준으로 groupby해서, 화살표모양을 take(x,-1)해서 마지막것을 가져오도록 처리하고 makearray로 해당좌표 vlookup해서 출력함.
삼각형 만들기입니다.

직각이나 이등변이나 다 같고
일반삼각형이 사다리꼴이 되었네요ㅠㅠ
좌표를 예전방식인 소수점으로 처리하여 덧셈으로 처리
=LET(ST,(AE2+AF2/100)&",S",DT,표1, TL,TEXTSPLIT("L,-0.01,←;R,0.01,→;U,-1,↑;D,1,↓;LU,-1.01,↖;LD,0.99,↙;RU,-0.99,↗;RD,1.01,↘",",",";"),TT, TEXTSPLIT(CONCAT(REPT(TAKE(DT,,1)&",",TAKE(DT,,-1))),,","),
TR, VSTACK(ST,SCAN(ST, TT, LAMBDA(b,c, (TEXTBEFORE(b,",")+VLOOKUP(c,TL,2,0)) &"," & VLOOKUP(c,TL,3,0)))),
fX, LAMBDA(x, MAKEARRAY(20,20,LAMBDA(r,c, IF(r+c/100=TEXTBEFORE(x,",")*1,TEXTAFTER(x,","),NA())))),
IFERROR( REDUCE(fX(""),TR,LAMBDA(b,c, IFERROR(fX(c),b))),""))
fX에서 makearray가 매번 호출된다면 부하가 많이 걸릴듯하네요..
전 원조백수님 처음 수식을 선택하겠습니다..^^
요새 AI에게 일만 시키고 생각이란걸 안하니 쉬운 생각도 놓치네요...
조견표에 'S'를 추가하여 좀 더 단순하게 처리한 것입니다.
=LET(DT,VSTACK({"S",1},표1), ST, AE2+AF2/100,TL, TEXTSPLIT("S,"&ST&",S;L,-0.01,←;R,0.01,→;U,-1,↑;D,1,↓;LU,-1.01,↖;LD,0.99,↙;RU,-0.99,↗;RD,1.01,↘",",",";"),
TT, TEXTSPLIT(CONCAT(REPT(TAKE(DT,,1)&",",TAKE(DT,,-1))),,","),
TR, HSTACK(SCAN(0,TT,LAMBDA(b,c,ROUND(b+VLOOKUP(c,TL,2,0),2))),VLOOKUP(TT,TL,3,0)),
IFERROR(MAKEARRAY(20,20,LAMBDA(r,c, VLOOKUP((r+c/100),TR,2,0))),""))