조건부 서식을 감지하여 IF / AND / OR 문이 많은 수식을 단순화하십시오.


1

나는 특정 물질을 분석하는 공식을 개발하려고 노력하고있다. Part Number 값) MS 계층 구조에 묶여있다. 이는 많은 관련 ERP 사용 기업에서 잘못된 문서화 및 자재 마스터의 적절한 유지 관리로 인해 발생합니다. 올바른 값은 해당하는 MRPcnX-Plant 값은 SAP 내 클라이언트 레벨을 기반으로하므로 항상 일관됩니다.

Spreadsheet screenshot #1

조건부로 서식을 지정했습니다. MRPcn 열에 표시되므로 값은 범례에 따라 색상별로 분류됩니다. 조건부 서식은 500 개 이상 고유하기 때문에 완료되었습니다. MRPcn 값. 이렇게하면 필요한 경우 색을 사용하여 수식을 필터링하거나 쓸 수 있습니다.

20 개의 독특한 X-Plant 값. 그 중 7 개가 MS 값. 이것들은 P2 (생산), N2 (공학), 18 / 19 / 4 / 1 (폐기 됨), 15 (Global Ops / Service). 이것들은 또한 조건부로 포맷되었습니다. 일부 X-Plant 값은 이러한 범주에 속하지 않지만이 네 가지가 데이터 집합에서 가장 관련이 있고 일관성이 있습니다.

나는 IF / AND / OR 성명서를 작성하고 이것들을 가지고 몇 가지 진보 된 작업을 해왔지만, 수식은 통합 될 필요가있는 많은 다른 독특한 값 때문에 커지고 다루기 힘들어 질 것입니다. 또한 소수의 값만 사용하여 부분 수식을 만드는 데 어려움을 겪고 있습니다.

올바른 값인 MS 실제로 카테고리의 카테고리에 달려 있습니다. MRPcn 가치와 X-Plant 가치, 나는 어떻게 든 수식을 단순화하기 위해 세포 (배경에 해당)의 배경색을 활용하기를 바랬다.

예를 들어, MS 부품의 값은 P2N2, 및 MRPcn = C43 (생산 계획) 및 X-Plant = P2, 우리는 올바른 것을 알고있다. MS ~이다. P2. (재료가 가지고있는 이유 MS ~의 값 P2N2NPI 기간 동안 엔지니어링 계획 부분으로 SAP에서 시작되었지만 나중에 제조 공장에서 생산으로 이동했지만 MM에서 유지되지 않았기 때문입니다.)

몇 가지 수정 사항을 보여주는 샘플 데이터가 있습니다. MS:

Spreadsheet screenshot #2

행보기 85:86, 부분 1301386 두 가지 다른 점이있다. MS ~의 값 18P2 단종 / 폐기 및 생산, MRPcn 엔지니어링, 그리고 X-Plant 단종 된 제품이므로 해당 부품에는 MS 되려고 18 (폐기 됨).

약어 정의 :

  • MM = 자재 마스터
  • MRPcn = 자재 자원 계획 제어기
  • MS = 자재 상태
  • NPI = 신제품 소개.
  • X-Plant MS - 공급망 계획과 관련하여 자재의 막힘 또는 상태를 식별하는 고객 수준의 자재 상태

아 알겠다. 혼란을 설명해 주셔서 감사합니다. 빈 행이 존재하지 않는이 문제는 존재하는 경우 다른 재료를 분리하는 것이 이상적이라는 것입니다. 이후, 수식을 작성하고 플래시 작성시 다른 재질의 ms를 고려하므로 잘못된 코드를 출력합니다. 즉, 셀 G2와 G3에 대한 문장이 하나의 자료를 분석하면 G3의 결과는 거짓 인 경우 G4의 셀 참조를 참조합니다 (다른 자료 참조). 이것은 내가 알고있는 수식의 반복에서 일어났습니다.
Mic Fitzgerald

그래서 내가 추가 한 그림에서 볼 수있는 몇 가지 다른 경우가 있습니다. 85-86 행에서 1301386은 중단 된 또는 폐기 된 생산을 나타내는 18 / P2의 MS, 엔지니어링 인 MRPcn 및 중단 된 x- 설비를 가지므로 해당 부분을 18 또는 20으로 표시해야 할 수 있습니다. 다른 단어는 더 이상 사용되지 않습니다. 이 포뮬러는 많은 것들을 완화 시키는데 효과적 이었지만, 대부분의 경우 3 ~ 4 개의 서로 다른 MS를 전시 할 때 다음과 같은 재료가 엉망이되었습니다. 알다?
Mic Fitzgerald

올바른, 모든 부품 번호는 복수가 아닌 단일 재료 상태를 참조해야합니다. 자재 상태는 예를 들어 생산 용 P2, 엔지니어링 용 N2, 폐기 용 18/19/4/1, 글로벌 운영 / 서비스 용 15 가지 등 네 가지 인스턴스가 있습니다. MRPcn과 X-Plant MS의 두 가지 데이터 포인트에 대한 로직을 기반으로 한 부분에 대해 설명 할 수 있습니다. @robinCTS
Mic Fitzgerald

수정, 그것은 항상 위에서 언급 한 논리를 기반으로 계산할 수 있습니다. 참조 된 데이터를 기반으로 올바른 수식이 잘못된 MS를 출력하는 경우가 있습니다. 그러나 그것들은 사소한 예외 일 것이다. 500 개가 넘는 MRPcn과 20 개의 x-plant ms가 있지만, 위에서 언급 한 4 가지 범주에 모두 해당되며, 색상을 코팅 한 이유가 전부입니다. 따라서 참조 된 색상에 대해 머티리얼을 배치하는 방법이 있다면 문제가 있습니다. 왜냐하면 if 서술문을 500 회 반복하는 것을 알고 있기 때문에 어리석은 일이다. @robinCTS.
Mic Fitzgerald

1
MRPcn 및 X-Plants의 전체 목록을 자동 채취하여 4 가지 유형의 MS에 해당하는 서로 다른 범위를 설정하는 숫자 값을 지정할 수 있다면 CountIf 또는 다른 유사한 기능이 내가하려는 일에 대해 효과가있을 것이라고 생각합니까? ? @robinCTS 대단히 오래 걸려서 미안해!
Mic Fitzgerald

답변:


0

이미 조건부 서식이 있으므로이 문제를 해결하기위한 최소한 세 가지 방법을 생각해 볼 수 있습니다.

  1. 셀의 조건부 서식 색상을 감지하는 UDF를 작성한 다음 16 개 이상의 중첩 된 수식을 작성하십시오. IF(AND(),…) 진술 또는 동등한 것.
    • 이 방법은 실제 이점이 없습니다.
    • 단점은 조건부 서식을 사용하는 것이 느리므로 UDF가 간단하지 않으며 조건부 서식 수식을 수동으로 다시 평가해야하며 "수식"이 내부에 포함되어 필요한 수식이 길기 때문에 보거나 수정하기가 어렵습니다.
  2. 9 개의 (아주) 긴 이름의 문자열을 만들고 네 개의 중첩 만 필요로하는 수식을 작성하십시오. IF(…) 에스
    • 이 방법의 장점은 조건부 서식이나 추가 셀이 필요하지 않습니다.
    • 단점은 "규칙"이 정의 된 이름에 숨겨져 있으며 이해 / 수정하기가 매우 어렵다는 점입니다
  3. 세 개의 테이블을 사용하여 매핑을 정의하고 세 개의 중첩 만 필요한 수식을 사용하십시오. VLOOKUP(…) 기능들
    • 전문가는 조건부 서식을 필요로하지 않으며 규칙이 간결하고보기 / 수정하기 쉽습니다.
    • 유일한 단점은 3 개의 테이블이 필요하다는 것입니다.

세 번째 방법을 구현하는 방법을 보여 드리겠습니다.

제공된 스크린 샷의 데이터 샘플과 일부 데이터가 채워진 필수 테이블 (일부는 구성되어 있음)을 보여주는 테스트 워크 시트입니다.

Screenshot of test spreadsheet

첫 번째 표에는 MRPcn 값을 적절한 범주에 추가하십시오.

두 번째 테이블에는 X-Plant 값을 적절한 범주로 설정합니다. 가설 중 하나와 같은 값 Z s가 네 가지 범주 중 하나에 속하지 않으면 범주 값을 고유 한 값으로 설정해야합니다. (나는 X-Plant 가치 자체.)

세 번째 테이블은 이전 두 테이블의 두 카테고리의 "교차 제품"을 적절한 MS 값. 여기에서 "규칙"이 정의됩니다. 십자가는 단순한 각 요소의 고유 한 값의 연결입니다. Category 표 1의 고유 한 값이있는 표 1의 Category 표 1의 열.

교차 제품은 특정 순서로있을 필요는 없습니다. 또한 표 2의 각 분류되지 않은 항목에 대해 네 개의 항목을 표 3에 작성해야합니다.


마지막으로 스크린 샷에서 볼 수 있듯이 다음 공식을 G2:

=VLOOKUP(VLOOKUP(D2,$I:$J,2,FALSE)&VLOOKUP(F2,$L:$M,2,FALSE),$O:$P,2,FALSE)

1
미안, 자고 있었어. 사려 깊은 대답에 감사드립니다. 명확히하기 위해 vlookup 문 예에서 일반적으로 참조되는 참조 행의 첫 번째 행만 참조 할 수 있으며 해당 부분에 대한 추가 정보는 고려하지 않습니다. 그러나 나는 그것을 수집하고 있다고 생각한다. 두 개의 w (mrpcn 및 plant)가 두 행의 데이터 모두에 대해 일관성을 유지한다는 것은 중요하지 않다. 나는 그것을 좋아한다.
Mic Fitzgerald

@MicFitzgerald 바로! 왜 당신이 얘기하고 다른 하나를 참조하려고하는지 궁금 해서요. MS 부품 값. 그래서 내가 계속 올바른지 물어 보았다. MS 값은 MRPcnX-Plant 가치가 아니라 다른 MS 값.
robinCTS

불행히도, 나는 명성 아래에 있으므로 그것을 upvote 수는 없지만, 나는 당신의 편집을 승인했고, 미래의 사용자를위한 단지 약간의 변경을했습니다! 불필요한 의견은 반드시 삭제하겠습니다.
Mic Fitzgerald

@MicFitzgerald 거부 된 추천 수정을 무효화 해 주셔서 감사합니다. 나는 그것이 가능하고 Meta를 찾아내는 것을 귀찮게 할 수 없는지 확신 할 수 없었다. 내가 놓친 일은 worksheet-function 꼬리표. 그렇게 할 수 있다면 문제가 조금 나아질 것입니다. 나는 내 의견을 정리했다. 이제 그것은 당신의 차례입니다 ;-) ....이 설명은 불특정 다수의 분으로 스스로 파괴 할 것입니다. . . . . . . . . .
robinCTS

LOL 나는 불필요한 모든 것을 삭제했거나 그 질문에 대한 답을 내걸지 않았다고 생각합니다. 나는 잊지 않을 것이다! 현재 모든 계층 구조에서 구현하고 있습니다. 시간이 좀 걸리지 만 너무 많이 걸리지는 않습니다. 더 이상 문제가 발생하면 알려 드리겠습니다.
Mic Fitzgerald
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.