메뉴

댓글 11

마
마법의손 작성자 9월 10일
 
보조열을 쓰고,  계산량이 많아서 느리지만, 결과는 나오네요..
 
 
생각해보니 빠르고 쉬운 방법이 있었네요..^^
....... 
라
라온보리 9월 10일
C12 값은 암산으로 ..
=LET(rngA,E4, rngB,E9, xTg,H4,
aReVe,SEQUENCE(1,INT(xTg/rngB)+1,0), bReVe,(xTg-rngB*aReVe)/rngA, xTF,(bReVe=INT(bReVe))*(bReVe>=0), bFT,FILTER(bReVe,xTF), aFT,FILTER(aReVe,xTF),
xXm,XMATCH(MIN(bFT+aFT),bFT+aFT), HSTACK(INDEX(bFT,xXm), INDEX(aFT,xXm)))
e
exceller1 9월 10일
파워쿼리로 만들어 봅니다.
하다보니 운좋게 맞아 떨어지는 것인지 모르겠지만....저는 이만..
원
원조백수 9월 10일
그냥 aX + bY + cZ = Ttl    이 산수를 3차원 배열로 돌려서 구했습니다.
혹시라도 조합이 2개인 경우에도 모두 출력합니다.
=LET(A, E4:E8, AA, D4:D8, B, E9:E11, BB, D9:D11, C, E12:E16, CC, D12:D16,
D, SORT(UNIQUE(VSTACK(AA,BB,CC))), T, SUMIFS(H4:H9,G4:G9, D),
MA, MAX(IFERROR(T/A,1)), MB, MAX(IFERROR(T/B,1)), MC, MAX(IFERROR(T/C,1)),
DA, SUMIFS(A,AA,D), DB, SUMIFS(B,BB,D), DC, SUMIFS(C,CC,D),
X, MAKEARRAY(INT(MA),INT(MB), LAMBDA(x,y, CONCAT(BYROW(SEQUENCE(INT(MC)), LAMBDA(z,
IF(SUMPRODUCT((x*DA+y*DB+z*DC=T)*1)=6,TEXTJOIN(",",,x,y,z), "")))))),
TEXTJOIN(" or ",,X))
마
마법의손 작성자 9월 11일
@원조백수 님 우와 엄청 빠르네요  ..b^^)..
마
마법의손 작성자 9월 11일
 
역행렬함수를 처음써 봤습니다. 있는줄도 몰랐네요.. chatGPT한테 역행렬함수 있는지 물어봤음..
답안1은 원조백수님 형식으로 x,y,z범위를 구해서 다 대입해서 매치되는 값을 구하는건데.....
위처럼 값이 커지니까 맛이 가버려서... 곰곰히 생각해보니 저 방법이 있어서 소개합니다.~
O(n)~O(1)일것 같습니다
x,y,z 3개가 아니라... a,b,c,d,e,f,g.....z여도 아마 순삭으로 나타날겁니다..
속도개선에는 알고리즘 개선보다 좋은게 없죠..
 
원
원조백수 9월 11일
@마법의손 님 문과둥절... 
더
더블유에이 9월 11일
예전에 방정식 풀며 배운 LINEST 함수를 ..
역순이라 반대로 넣어주기만 하면 되겠습니다
마
마법의손 작성자 9월 11일
삭제된 댓글입니다.
더
더블유에이 9월 11일
@마법의손 님
변수 개수 = 공식수 일땐 절편값을 true로 하면 됩니다 10개 까지 잘 됐던걸로 기억합니다
마
마법의손 작성자 9월 11일
@더블유에이 님  
네...잘나오네요......
=LINEST(H4:H9,J4:O9,0)        역순으로 나와서 불편하네요...
역행렬이 편하겠습니다.^^  
=MMULT(MINVERSE(J4:O9),H4:H9)

이야기 게시판의 최근 글

스크랩 완료