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


1

나는 특정 물질을 분석하는 공식을 개발하려고 노력하고있다. Part Number 값) MS 계층 구조에 묶여있다. 이는 많은 관련 ERP 사용 기업에서 잘못된 문서화 및 자재 마스터의 적절한 유지 관리로 인해 발생합니다. 올바른 값은 해당하는 MRPcn 과 X-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 부품의 값은 P2 과 N2, 및 MRPcn = C43 (생산 계획) 및 X-Plant = P2, 우리는 올바른 것을 알고있다. MS ~이다. P2. (재료가 가지고있는 이유 MS ~의 값 P2 과 N2NPI 기간 동안 엔지니어링 계획 부분으로 SAP에서 시작되었지만 나중에 제조 공장에서 생산으로 이동했지만 MM에서 유지되지 않았기 때문입니다.)

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

Spreadsheet screenshot #2

행보기 85:86, 부분 1301386 두 가지 다른 점이있다. MS ~의 값 18 과 P2 단종 / 폐기 및 생산, 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 값은 MRPcn 과 X-Plant 가치가 아니라 다른 MS 값.
— robinCTS

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

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

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