다른 워크시트에서 어떤 값도 반환하지 않는 수식이 있는 행을 무시하기 위해 이름 관리자에 동적 인쇄 범위를 설정했습니다. 실제 데이터의 마지막 8행을 건너뛰는 것을 제외하면 대부분의 경우 모든 것이 작동합니다. 제가 사용하는 OFFSET 공식은 다음과 같습니다.
=OFFSET('조달 로그'!$A$1,0,0,COUNT(IF('조달 로그'!$B$8:$B$10003<>0,'조달 로그'!$B$8:$B$10003)) ,24)
행 8에서 범위를 시작하는 것과 관련이 없는 한 마지막 8개 행을 잃는 이유를 알 수 없습니까? B1에서 시작하도록 범위를 변경했는데 이제 마지막 7개 행을 건너뛰고 있습니다. 나는 길을 잃었다. 어떤 도움이라도 대단히 감사하겠습니다!
[파일 링크는 다음과 같습니다][1]. 작동 방식은 새 데이터를 데이터 내보내기 탭에 붙여 넣은 다음 수식을 통해 다른 두 데이터로 가져오는 것입니다. 동적 인쇄에서 무시하려고 하는 것은 수식이 포함된 빈 셀입니다.
답변1
링크가 제공된 후 추가됨:
예, 처음 7개는 COUNT() 처리되지 않았고 8번째(B8 자체)에는 텍스트가 있으므로 개수에 추가되지 않으므로 8개 행이 문제입니다. 그러나 언급한 대로 두 번째 범위를 변경하여 문제를 해결할 수는 없습니다. COUNT()의 결과에 8을 더하기만 하면 됩니다. 따라서 7을 더하는 대신 8을 더하는 것을 제외하면 아래 마지막에 표시된 공식과 같습니다. 모든 문제가 사라질 것입니다.
(참고: 두 범위를 B1(대 B8)로 변경하여 누락된 행을 7로 변경한 이유는 B6의 값이 숫자이고 그런 식으로 계산되므로 8이 너무 적으면 7이 너무 적습니다.)
답변2
암시 하듯이 harrymc
, 이 질문에 대한 답변을 얻으려면 더 많은 정보가 필요하며 스크린샷도 유용할 수 있습니다.
그러나 해당 영역에는 동적 자료가 없기 때문에 B1:where의 범위가 아닌 범위(B8:B10003)를 테스트하고 있는 것으로 보입니다. 실제로 그 내용이 계산을 망칠 수도 있습니다. 여태까지는 그런대로 잘됐다.
그러나 누락된 행의 수는 동적 범위가 A8이나 가지고 있는 것이 아닌 A1에서 시작하는 것처럼 보이므로 테스트되지 않은 행에 있는 내용을 인쇄하려는 의도가 있음을 나타냅니다. B1:B7의 8 누락 대 7은 일치하는 부분이 아니지만 다른 관련 질문에서는 다른 답변자가 수행하는 작업을 수행하고 있지만 작동하지 않는다고 진술합니다. 그 안에 있는 다른 텍스트에서는 그가 하는 일을 거의 할 뿐이라고 제안합니다. 그래서 나는 아마도 동일한 부정확성이 여기에 적용된다고 가정하고 앞으로 나아갈 것입니다.
동적 데이터는 8행에서 시작하고 B열은 올바른 인쇄 범위를 생성하는 데 편리하고 정확한 소스인 것 같습니다. 그리고 해당 지점 위의 7개 행 중 일부 또는 전부를 보고서의 시작 부분으로 인쇄하고 싶을 수도 있고 머리글로도 인쇄할 수도 있습니다(그러나 그렇지 않거나 그렇게 많은 행이 관련되어 있으면 1,000개 또는 2개 행이 누락될 수 있습니다. )
해당 범위의 데이터가 숫자이거나 원하지 않는 데이터라고 가정하므로 COUNT()
훌륭하고 COUNTA()
. 차이점은 후자가 텍스트 셀도 계산한다는 것입니다. 따라서 첫 번째 잠재적인 문제는 아마도 10,000개의 행에서 해당 값 중 8개가 실제로 텍스트라는 것입니다. "어떻게"는 여기서 그 원인을 해결하는 데만 중요하며(분명히 예상되지 않기 때문에) 그것이 그럴 수 있는지 여부를 고려하는 전조가 아닙니다. 따라서 해당 범위에 대해 각 함수를 사용하는 두 개의 공식을 설정하고 결과가 동일한지 확인하십시오. 그렇지 않은 경우 열에 빨간색 머리의 텍스트 항목이 있는 것입니다. 이는 계산되지 않으므로 범위가 끝나야 하는 위치에 훨씬 못 미치게 됩니다. 솔직히 말해서, 그것이 아무리 가능성이 없다고 생각하더라도 그것은 절대적으로 문제의 가장 가능성이 높은 원인입니다. 또한 문제의 일부일 수도 있고 나머지는 다른 것일 수도 있습니다. 테스트를 해보세요.
계속해서 정확한 범위를 테스트하는 것은 확실히 중요하므로 그렇게 해 주셔서 감사합니다. 그러나 이것이 반드시 실제 인쇄 영역을 생성하려는 범위와 정확히 일치하는 것은 아닙니다. 그 자체로는 아닙니다. 따라서 A1부터 인쇄하려고 한다고 가정하면 계산된 합계 중 7개 행이 실제 데이터가 아닌 행 1-7에 사용됩니다. 즉, 개수가 2,433이라고 가정해 보겠습니다. 작성된 대로 범위는 A1:X2433이지만 8~10003 행에 2,433개의 행이 있음을 의미하므로 실제로는 그보다 더 많은 7개가 필요합니다. 따라서 계산에서 2,433개의 항목이 발견되면 A1:X2433이 아닌 A1:X2440 범위가 실제로 필요합니다. 그러면 보고서에서 바로 7개의 행이 삭감됩니다.
이것이 귀하의 공식에 어떻게 적용됩니까? 함수 출력에 해당 7개 행을 추가해야 합니다 COUNT()
. 닫는 괄호 바로 뒤:
=OFFSET('Procurement Log'!$A$1,0,0,COUNT(IF('Procurement Log'!$B$8:$B$10003<>0,'Procurement Log'!$B$8:$B$10003)) +7, 24)
("24" 바로 앞).
내 생각엔 누락된 행 중 7개를 얻을 수 있을 것입니다. 그리고 다른 항목을 가져오기 위한 텍스트 항목이 9,996개의 B열 셀 어딘가에 존재할 수도 있습니다.
처음 사용할 때 참조를 B8에서 B1로 변경하면 행 1-7에 내용이 있는 경우 행이 계산에 추가됩니다(테스트에서 사용하면 계산할 때 내용이 계산에 추가되지 않으므로). 잃는 것이지 얻는 것이 아니므로 그것은 문제가 되지 않습니다. 두 번째 사용에서 이를 변경하면 처음 7개가 숫자가 아닐 가능성이 높기 때문에 아마도(정확한 실제 스프레드시트 페이지를 확인해야 함) 해당 항목이 손실될 수 있습니다. Excel은 주소를 주소로 일치시키는 것이 아니라 요소를 요소로 일치시킵니다. 이는 범위의 처음 7개 요소가 숫자가 아닌 경우 해당 FALSE가 테스트 범위의 숫자 항목(B8에서 시작, 아마도 숫자 항목 자체)과 일치한다는 것을 의미합니다. 따라서 관심 범위의 처음 7개 요소는 계산에서 제외되어 동적 인쇄 범위가 7행 부족하게 됩니다.
일치하는 범위를 유지하고 상위 함수( )의 결과에 7을 추가하면 COUNT()
비교를 엉망으로 만들지 않고 목표를 달성할 수 있습니다. 그렇게 하면 매우 옳아 보이기 시작할 것입니다. 함수 에 아무 것도 건드리지 말고 COUNT()
, 그 뒤에 필요한 7개만 추가하세요.
마지막으로, 귀하의 상황은 아마도 값이 반환되지 않는 특정 지점까지 행 아래로 연속 블록으로 값을 반환하고 나머지 부분에서는 다시는 수행하지 않는 수식 중 하나일 것이라는 점을 눈치채지 못한 사람을 위해 언급하겠습니다. 따라서 23, 24, 2438, 2499 및 2900 행에는 데이터가 없습니다. 유일한 데이터인 이 5개의 경우 행 8-12에 있습니다. 따라서 이것을 사용하여 행을 "사냥하고 쪼아내는" 것이 아니라 인쇄할 블록으로 사용하고 첫 번째 빈 행까지 첫 번째 행을 사용하고 그 이후에는 신경 쓰지 않습니다. 이 접근 방식은 전체적으로 발견되면 최소한 작동하지 않습니다.
이는 또한 반환된 데이터 사이에 있는 일부 빈 행이 문제의 원인이 아니며 이를 기반으로 하는 수식을 사용하여 FILTER()
모든 데이터를 연속 그룹으로 묶으면 이미 있는 것처럼 아무것도 수행하지 않음을 의미합니다. (그리고 그것이 아주 잘못된 것이고 그 사이에 빈 줄이 있는 것이 발견된다면, 글쎄, 그것이 당신의 어려움의 원인이며 이제 FILTER()
그것을 감당할 시간입니다!)