2013-04-07 3 views
0

나는이 그렇게 쉽게 공식과 같은계산 열은

= SUM (B6:M6)/CountIF(B6:M6)>0 

를 사용하여 엑셀에서 수행 될 액세스 2007의 현금 흐름 문을 개발하기 위해 노력했지만 내 머리를 정리하는 것 캔트 액세스 할 때이 주변. 데이터를 입력하는 모든 회사에이 기능이 필요합니다. 현금 흐름 문 (나는 아직 그림을 게시 할 수 없기 때문에) 다음과 같이 가정한다 :

 
---------------------------------------------------------------------------------------------------------------- 
Particulars | Jan | Feb | Mar | Apr | Jun | Jul | Aug | Sep | Oct | Nov | Dec | Average | 
Sales----------------------> 
Salary------> 
Transportation-----> 

와 행 약 10 다른 항목을 모두하지만 때로는 우리가 가지고 12월까지 월에 대한 항목으로 6 개월 분량의 데이터와 경우에 따라 12 개월 동안 (첫 번째 열의 항목과 다음 12-13 열의 헤더가있는 기본 Excel 시트를 상상해보십시오.)

액세스 할 때, 나는 각 항목에 대한 테이블을 월과 같이 열로 만들었다. tblRcpt -> | rcpt_ID | Jan | Feb | ... 등 모든 항목에 대해 dec까지. 그런 다음 위 표와 유사하게 디자인 된 입력 양식으로 정렬되고 제시되며, 나중에 전체 캐시 플로우 명세서를 제시하기 위해 이들을 쿼리하고 연결합니다.

이제는 열을 함께 평균화해야합니다 (가장 오른쪽 열에서 볼 수 있듯이).하지만 채워진 월을 함께 평균화하려고합니다. (때로는 회계 담당자가 '0'을 입력하십시오. 데이터가없는 곳), 열을 합계하고 12로 나눕니다. 역동적이어야하며, 모든 함수는 열이 아니라 행을 계산하고 평균하는 것을 중심으로합니다.

나와 함께 견적 해 주셔서 감사 드리며, 도움을 주시면 감사하겠습니다.

+0

를 사용하면 문제가 발생하는 이유는 다음과 같습니다 (I 아래 가지고) 당신이 그 달의 값이없는, 또는 당신은 SQL 문을 처리 할 수있는 경우 중 하나 하지 행을 입력 할 수 있습니다 왜냐하면 데이터베이스는 ** 스프레드 시트가 아니기 때문입니다. 구조가 정규화되지 않았고 SQL 문이 비정규 화 테이블과 잘 작동하지 않습니다. – Yuck

답변

1

(Jan + Feb + ... + Dec)/
    (case when Jan = 0 then 0 else 1 end 
    + case when Feb = 0 then 0 else 1 end 

    + case when Dec = 0 then 0 else 1 end) 
as Avg 
+0

시도해 볼 것이지만 VBA는 어디에 입력해야합니까? 양식에서 그 작업을 수행하고 그 결과를 테이블에 저장해야합니까? – Aadn

+0

Case 메서드를 시도했지만 구문을 올바르게 가져올 수 없습니다. 그래서 모든 달 동안 간단한 IF, else 문을 사용했습니다. 무리 감사! :-) – Aadn

1

귀하의 테이블 구조가 있어야한다보십시오 :

Particulars | Month | Amount 
Sales   1  500 
Sales   2  1000 
Salary  1  80000 

... 등등.

SELECT Particulars, AVG(Amount) AverageAmount 
FROM MyTable 
WHERE NULLIF(Amount, 0) IS NOT NULL 
GROUP BY Particulars; 
+0

각 항목에 대해 너무 많은 개별 테이블을 만들고 모든 항목에 대해 12 개월의 열을 반복해야 할 때 뭔가 잘못되었다는 것을 알고있었습니다. 하지만 당신이 제안한 구조가 어떻게 작동하는지 확신 할 수 없습니까? 내가 몽크를 외래 키로 만들어야한다고 생각하니? 프런트 엔드에서 여러 사용자가 여기에 입력해야하는 회사의 현금 흐름표 수백 개가 있기 때문에 액세스를 위해 노력하고 있습니다. 조금 더 자세히 설명해 주시겠습니까? – Aadn