0

각기 다른 셀에 각각 약 800 개의 VIN 번호 목록이 있습니다. 나는 쉼표로 구분 된 쉼표로 쉼표로 분리되어 있으므로 찾기 기능이 쉼표로 구분 된 경우 여러 셀을 강조 표시 할 수 있다고 생각하지만 작동하지 않습니다. 하나씩 가서 복사/붙여 넣기를 사용하고 두 번째 스프레드 시트에서 각 VIN을 찾으려면 (당연히 지루하고 시간이 많이 소요됩니다) 나는 한 번에 여러 셀을 찾을 수있는 방법을 찾으려고 노력했습니다. 예 : 123456789, 234567891, 345678912 등의 값이 포함되어 있으므로 해당 값이 들어있는 각 셀이 배치됩니다. 나는 Adlebits에 의해 전동 공구의 향상된 검색 기능을 시도했지만,이 기능이 없기 때문에 스크립트 편집기를 통해서만이를 달성 할 수있는 유일한 방법이라고 생각하게된다. 어떤 추천?Google 스프레드 시트에서 여러 값 찾기

+0

아마도 arrayformula를 사용하여 쿼리하거나 필터링 할 수 있습니다. 둘 다 일을 할 가능성이 높지만 질문의 성격이 희박하다는 점을 감안할 때 어느 하나를 추천하는 것은 불가능합니다. Excel에서는 필터 또는 고급 필터 작업이됩니다. – Jeeped

+1

샘플 입력과 원하는 출력을 제공하십시오. –

+0

어쩌면이게 내 질문에 대해 설명하는 데 도움이 될까요? https://docs.google.com/spreadsheets/d/1xSdN42zpL-9SjGtCzvAArfeaccOXaJkGoAOGLYlcDJ4/pubhtml –

답변

0

쉼표로 구분 된 목록을 별도의 셀로 분리 한 다음 조건부 서식을 사용하여 값을 강조 표시하십시오. 내 예를 한번보세요.

https://docs.google.com/spreadsheets/d/1YBsUz96yN7rxYFjnYI94lAGPMOUS2ScHD2SW417VEeY/copy?usp=sharing

+0

안녕하세요, 고든, 도와 줘서 고마워. 귀하의 문서에 조건부 서식이없는 이유는 무엇입니까 궁금합니다> –

+0

사과. 내 예제를 새 시트에 복사했는데 조건부 서식을 제거해야합니다. 범위 : A4 : F100 범위에서 수식 :'= OR (A4 = $ A $ 2, A4 = $ B $ 2, A4 = $ C $ 2, A4 = $ D $ 2) 가능한 멀리 연장하십시오. 이 솔루션의 주요 부분은 쉼표로 구분 된 입력을 분리하여보다 쉽게 ​​사용할 수 있도록하는 것입니다. – Gordon

0

은 800 개 빈스의 목록을 가지고 당신이 발견 빈스의 새 시트를 빈스의 목록은 그 목록을 검색하고 만들려면,이 그것을 할 것입니다. 생성 된 메뉴에서 실행할 수 있습니다.

function onOpen() { 
SpreadsheetApp.getActiveSpreadsheet().addMenu(
    'Vins', [ 
     { name: 'Find Vins', functionName: 'findVins' }, 
     ]); 
} 
function findVins() { 
    var ss=SpreadsheetApp.getActiveSpreadsheet() 
    var s=ss.getSheetByName("Sheet1")//get sheet with vin list 
    var lr = s.getLastRow() 
    s.getRange(2, 1, lr-1, 1).clearFormat()//clear background color 
    var vinToSearch=s.getRange(2, 1, lr-1, 4).getValues()//get vin list values 
    var s1=ss.getSheetByName("Sheet2")//get sheet with vins to find 
    var lr1=s1.getLastRow() 
    var vinToFind=s1.getRange(2, 1, lr1-1, 1).getValues()//get vins to find 
    var found=[] 
    for(var i=0;i<vinToFind.length;i++){ 
    for(var j=0;j<vinToSearch.length;j++){ 
     if(vinToFind[i][0]== vinToSearch[j][0]){//if numbers match 
     found.push([vinToSearch[j][0],vinToSearch[j][1],vinToSearch[j] 
[2],vinToSearch[j][3]]) 
     }}} 
    var s2=ss.getSheetByName("Sheet3") 
    var lr2 = s2.getLastRow() 
    var lc2 =s2.getLastColumn() 
    s2.getRange(2, 1, lr2, lc2).clearContent() 
    s2.getRange(2, 1, found.length, found[0].length).setValues(found) 
} 

다음은 복사하여 시도 할 수있는 공유 스프레드 시트입니다.

https://docs.google.com/spreadsheets/d/1bC8SP6vVY0cMoZVg3lpo2ZtI2ch4FJ7kztlNHAVBWF8/edit?usp=sharing

+0

일부 사람들이 내 실제 질문이 무엇인지 확신 할 수 없다고 말하면서 도움이 될 것이라고 생각합니다. https://docs.google.com/spreadsheets/d/1xSdN42zpL-9SjGtCzvAArfeaccOXaJkGoAOGLYlcDJ4/pubhtml –

+0

안녕하세요 에드, 처음 뵙겠습니다. 정말 고마워! 둘째, 1 또는 2 장의 VIN 목록을 가져 와서 수천 개의 다른 VIN 목록에 적용 할 수 있습니까? 그게 getsheetbyname ("sheet1")이라고하는 이유입니까? 어떤 경우, "sheet1"을 VIN을 수집하는 데 사용되는 파일의 이름으로 대체해야합니까? 또한, "vinToSearch = s.getRange (2, 1, lr-1, 1) .getValues ​​() // vin list values를 얻는다"라고해서 vins리스트를 넣는 것은 아닙니다. (2, 1 lr-1 , 1) 맞습니까? 올바른 VIN 목록 값을 계산하는 데 사용되는 공식이 아닙니까? –

+0

수정 된 답변 및 샘플 스프레드 시트를 참조하십시오. –

관련 문제