이러한 쿼리를 작성하여 열을 추가하거나 제거 할 때마다 업데이트 할 필요가없는 방법이 있습니까?
이 문제를 해결하기 위해 쿼리에서 명명 된 범위를 사용할 수 있습니까?
예, 기본 제공 열 머리글 대신 명명 된 범위를 사용할 수 있지만 기본 아이디어는이 사이트의 다른 유사한 질문에서 제안한 다른 답변과 동일합니다. 스프레드 시트는 동적 SQL 문자열을 작성 하도록 설정해야 합니다 .
그 말을하자 J
및 G
명명 된 범위와 일치 Grades
하고 Class
각각.
다음 방법은 열이 열 A와 Z 사이에있을 때만 작동합니다.
CELL("address",Grades)
을 반환 "$J:$J"
합니다. 열 참조 사용 얻으려면 MID(CELL("address",Grades),2,1)
얻기를 "J"
. 마지막 공식은
= QUERY (B : J, "SELECT AVG ("&
중간 (CELL ( "주소", 학년), 2,1) &
") GROUP BY"&
MID (CELL ( "주소", 클래스), 2,1))
다음 방법은 모든 경우에 적용됩니다.
COLUMN(Grades)
정수 (1,2,3 형식의 수 등)를 반환합니다. SQL 문 인수를 만들기 위해 수식을 단순화하려면 배열을 사용하여 SQL이 COL1, COL2 등의 열 참조를 사용하도록 강요하는 것이 좋습니다 표기법 ( {B:J}
). 마지막 공식은
= QUERY ({B : J}, "SELECT AVG (Col"& COLUMN (Grades) -1 & ") GROUP BY Col"& COLUMN (Class) -1)
데모 스프레드 시트
참고 문헌
Google 스프레드 시트에서 배열 사용-Google 오피스 편집기 도움말