사용 도구 제한 없음 , 엑셀, 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))),""))
대상 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))),""))