수업에 능숙한 이름 목록이 있습니다. "성명"열이 포함되어 있습니다. 전체 이름은 3 부분으로 구성됩니다. 1. 이름 (FN) 2. 중간 이름 (MN) 3. 성 (SN)
예 : Aashish Ajit Handa (FN) (MN) (SN)
같은 이름을 Aashish A로 변경할 수 있기를 원합니다. 즉, 중간 이름을 검색하고 첫 번째 알파벳이 (MN)을 대체해야합니다. 중간 이름은 문자 길이가 다릅니다.
수업에 능숙한 이름 목록이 있습니다. "성명"열이 포함되어 있습니다. 전체 이름은 3 부분으로 구성됩니다. 1. 이름 (FN) 2. 중간 이름 (MN) 3. 성 (SN)
예 : Aashish Ajit Handa (FN) (MN) (SN)
같은 이름을 Aashish A로 변경할 수 있기를 원합니다. 즉, 중간 이름을 검색하고 첫 번째 알파벳이 (MN)을 대체해야합니다. 중간 이름은 문자 길이가 다릅니다.
답변:
이 같은 문제를 해결하는 비 매크로 방법은 세 가지 이름을 수식으로 분해하여 결합하는 것입니다. 나는 보통 이것을 위해 이름 관리자를 사용하지만 이름 관리를 사용하지 않는 확장 수식을 보여줄 것입니다. (이러한 모든 예제는 a1 셀을 Name (공백) Name (공백) 이름 형식의 이름으로 사용합니다. 1 단계 이름을 가져옵니다.
Fname = + LEFT (Sheet1! A1, FIND ( "", Sheet1! A1)) 첫 번째 공백을 검색하고 모든 것을 왼쪽으로 반환합니다.
Lname = + RIGHT (Sheet1! A1, LEN (Sheet1! A1) -FIND ( "", Sheet1! A1,1 + LEN (Fname)))) 성을 반환합니다. 답을 괄호로 묶으려면 성과 이름이 모두 필요합니다. 이것은 두 개의 공백 만 있다고 가정하고 첫 번째 공백 다음에 시작되는 찾기를 수행하여 두 번째 공백을 검색합니다.
Mname = MID (Sheet1! A1,1 + LEN (Fname), LEN (Sheet1! A1) -LEN (Fname) -LEN (Lname)) Fname과 Lname을 대괄호로 사용하여 전체 중간 이름을 반환합니다.
모두 함께
이름을 사용하지 않고 한 줄에
이 접근법의 문제점
이중 공백을 단일 공백으로 대체하기 위해 대체를 수행해야 할 수도 있습니다.
데이터 소스의 형식이 얼마나 좋은지에 따라 필요할 수 있습니다.