
데이터베이스를 생성할 때 셀은 최대 250자여야 합니다. 데이터를 입력할 때 첫 번째 셀에 최대 250자를 허용하고 추가 문자를 계속 입력하면 다시 250자가 될 때까지 다음 인접한 셀로 자동으로 오버플로되도록 하고 싶습니다. 그런 다음 다음 인접한 셀로 다시 오버플로됩니다. 이를 위해 세 개의 열을 설정했습니다.
답변1
특별한 것이 없는 방법이 있습니다(매크로가 없거나 기타... 조기 학습... 기능이 없음): 시트 두 개를 사용합니다.
Sheet 1
데이터를 입력하고 셀에 입력하거나 붙여넣으면 입력 Sheet 2
된 데이터에 적용되는 수식이 생성됩니다. 수식은 단순히 항목을 가져와 Sheet 1
필요에 따라 나눕니다. 일괄적으로 또는 전부 완료되면 한두 가지 작업을 수행해야 합니다. 를 사용하여 수식을 값으로 변환한 다음 Excel에 "공백"이 있는 Paste|Special|Values
경우 데이터베이스에 true가 필요한 경우 빈 셀을 처리합니다 . NULL's
두 번째가 필요하다고 가정하겠습니다. 그렇지 않은 경우 공식의 핵심을 사용하십시오.
따라서 셀에 Sheet1!A2
데이터가 입력되었습니다. A2:C2
의 셀에는 Sheet 2
분할된 데이터가 있습니다. 비어 있는 핵심 수식의 제안된 결과를 테스트하고 비어 있는 경우 절대 발생할 수 없는 결과를 반환합니다. 공식에 간단한 "PPP"를 사용하겠지만 더 높은 수준의 유니코드 문자나 테두리 그리기에 이전 128-255 코드를 사용할 수도 있습니다.
A 열은 다음을 얻습니다.
=LEFT(Sheet1!A2,250)
B 열은 다음을 얻습니다.
=MID(Sheet1!A2,251,250)
열 3은 다음을 얻습니다.
=MID(Sheet1!A2,501,250)
RIGHT()
사용할 문자 수를 찾는 것이 여기서의 간단한 접근 방식보다 더 복잡하기 때문에 3열에서는 사용하지 않습니다 . 그것이 작동하는 이유는 MID()
501자가 존재하든 그 이후에 250자가 존재하든 상관하지 않는다는 것입니다. 그렇지 않은 경우 오류가 아닌 공백이 표시됩니다. 그러니 간단하게 하세요, 그렇죠?
IF()
각 항목은 공백이 반환되는지 확인하고 고유한 값이 있으면 할당하고, 그렇지 않으면 결과를 그대로 두는 테스트 로 래핑되어야 합니다 . 예를 들어 열 1은 다음과 같습니다.
=IF(LEFT(Sheet1!A2,250)="","PPP",LEFT(Sheet1!A2,250))
세 개의 열 모두에 대해 동일한 기술입니다. 실제로 사용된 행 아래의 모든 항목을 비워 두려면(쉽게 검사할 수 있는 세 개의 열에는 의미가 없지만 언젠가는 320개의 열로 이 작업을 수행하게 될 것임) 해당 셀이 비어 있는지 IF()
확인하는 다른 열로 모두 포장합니다. Sheet 1
아니다. 반환하는 내용은 복잡하고 가능성이 많을 수 있지만 고유한 값을 반환하는 것이 마음에 들지 않으면 이 두 가지를 결합하여 두 조건 중 IF()'s
하나를 테스트 할 수 있습니다. AND()
언급한 바와 같이, 다른 유용한 접근 방식도 취할 수 있습니다.
자... 이제 데이터가 준비되었으며 Sheet 2
모두 원하는 대로 잘 분할되었습니다. 수식이 아닌 데이터로 만들려면 Copy
상자 에 말 그대로 아무 것도 지정하지 않은 고유한 값을 사용하여 실제 공백을 만들어 가져오기 후에 true를 갖게 됩니다 .Paste|Special|Values
Search and Replace
Replace
NULL's
물론 Sheet 3
다음 사용을 위해 해당 위치에 다시 붙여넣을 수 있도록 공식을 어딘가에 준비하십시오(아마도).
마지막으로 가져오기를 수행합니다.
몇 가지 간단한 수식만 사용하여 값을 만들고 공백으로 보이는 셀을 실제 공백으로 만들면 작업이 완료됩니다.