2015-01-27 2 views
0

C# 코드에서 Excel 통합 문서를 생성 중이지만 VSTO에 액세스 할 수없는 사용자에게 통합 문서를 배포 할 수 있어야하므로 코드가 끝납니다.문자열 조작을 포함한 복잡한 교차 워크 시트 Excel 수식

통합 문서 포함

A) 선택된 항목에 따라 "1"또는 "2"를 제공하는 드롭 다운 목록을 포함 "워크 1".

B) "워크 시트 1"에는 현재 "1"을 포함하는 그리드 레이아웃의 여러 셀이 있습니다.

C) "워크 시트 2"에는 A1과 A2 셀에 문자열 값이 있습니다 (예 : 드롭 다운 항목과 관련 있음). 워크 시트 1 셀과 동일한 위치에서 "워크 3"에서 C01010101 C01010102

D) (같을 관련된 문자열 값이있는) 상기 B 참조 (주 :이 값은 임의의 길이가 될 수 있음)

확인란 | 001 | C010101010101

확인란 | 002 | C010101010102

확인란 | 002 | C010101010103

(1
  1. N1 = 선택된 인덱스 : 16,

    어떤 I 할 필요하면되도록 B의 셀에 수식을 추가하기보다는 "1"에서는 다음과 같은 로직에 따른 값을 초래할 함유이며 -2) 상기 A 드롭 다운()

  2. S2 = "워크 2"의 문자열 값, 셀 범위 "A"& N1

  3. S3의 「워크 시트 3 파이프 구분 필드 값 = 3 "에 해당하는 셀의"Worksh eet 1 "(즉, 동일한 주소, C5, B6 등)

  4. S2는 S3의 왼쪽 끝과 일치하는 경우, "1"이 반환 달리 "0"을 반환 가능한

마지막으로, I는 착색하고자 셀이 0이 반환되면 회색 배경이됩니다. 그러나 누군가가 수동으로 0을 사용하여 셀을 겹쳐서 쓰면 변경되지 않아야합니다.

누구나 전체 솔루션을 제공 할 것으로 기대하지 않습니다. 큰! 그러나 내가 이것을 어떻게 달성 할 수 있는지에 대한 모든 제안은 감사하게 받아 들여질 것입니다!

[편집]

이미지가 첨부되어 있습니다.

출력 눈금은 눈금으로 표시되지만 실제로 눈금이 표시된 경우 "1", 눈금이 채워지지 않은 경우 "0"이 포함됩니다.

그것은 년대 "1"공식 적절한 목록 항목을 선택하면 셀은 "유효"해야하기 때문에, 교체 ​​될 것 - 즉 의미합니다 경우 : $

The grid of cells (B) The grid display

:

[/ 편집] 좋아

[Edit2가]

이 지금까지 내 진행입니다

이 단순화 된 (: o) 예의 경우 F17은 파이프로 구분 된 문자열을 포함하는 셀이며 E17은 일치시킬 드롭 다운 값을 포함합니다.

는 지금은 ... 드롭 다운에서 읽은 행 번호를 사용하여 범위를 참조하는 방법을 해결해야 할

[/ Edit2가]

+0

기꺼이 도와 드리겠습니다. 제발 당신이 원하는 출력의 스크린 샷과 예제를 추가 할 수 있습니다 – CallumDA

+0

위대한 - 할 것입니다! :) – CompanyDroneFromSector7G

답변

0

이 내가 생각 해낸 최종 공식이다 : Sheet2 파이프로 구분 된 문자열을 포함하는 시트 인

=IF(
    LEFT(
     MID(
      Sheet2!V19, 
      FIND(
       "|", 
       Sheet2!V19, 
       FIND(
        "|", 
        Sheet2!V19 
       )+1 
      )+1, 
      999), 
     LEN(
      INDIRECT(
       "Sheet3!"&ADDRESS(T16,1) 
      ) 
     ) 
    )=INDIRECT(
     "Sheet3!"&ADDRESS(T16,1) 
    ), 
    1, 
    0 
) 

Sheet3AT16이 셀 (C)이며, V19 현재 셀이고, 드롭 다운 룩업 값을 포함 드롭 다운에 관련된.

드롭 다운 조회가 파이프 구분 문자열의 세 번째 단어와 일치하면 필요에 따라 현재 셀에 1이 표시되고, 그렇지 않으면 0이 표시됩니다.

나는 술집에 갈거야 ...