2014-06-23 5 views
2

URl - https://docs.google.com/spreadsheets/d/1lvmwHqINzKxjKgZjmDAkntFDo2R_lrfy2GUd-ohCA2A/edit#gid=1237083423IP 주소를 국가 이름으로 변환하는 방법

IP 주소를 표시하는 열이 있습니다. 기본적으로 Google 스프레드 시트에서 응답이 실시간으로 업데이트되는 설문 양식 (JotForm)입니다.

사용 가능한 IP 주소에 따라 어떻게 해당 국가 이름을 찾을 수 있습니까?

나는 하나 개의 솔루션

=query(importhtml("http://whatismyipaddress.com/ip/" & G4, "table", 2), "select Col2 where Col1 = 'Country:' ", 0) 

있어하지만 내가 한 문제에 직면하고있다. jotform을 사용하고 Google 스프레드 시트와 통합하고 있습니다. 그것은 날짜까지받은 모든 응답의 위치를 ​​제공합니다. 드래그 다운 기능을 사용하여 셀 번호 100으로 드래그했습니다. 새 응답이 수신되는 즉시 정보는 셀 번호 101에 저장되고 수식을 입력 한 다른 모든 정보는 공백으로 남습니다.

이 문제를 해결하려면 어떻게해야합니까? 배열 수식이 수행 할 수 있습니까?

다른 방법이 있습니까?

+0

N8sBug @이 .. 작은입니다 도움이 정말 도움이 될 것입니다. 지금까지 도와 줘서 고마워. – chiragvora

답변

1

수식이 잘 작동하는 것 같습니다. 불행히도, 나는 arrayformula()를 사용하여 더 쉬운 방법을 찾지 못했습니다. 그러나이 업데이트를 자동으로 만드는 방법에 관한 질문은 매우 유용합니다. 다음은 셀 G2에 수식을 넣었다고 가정합니다. (이 기능을 다른 곳에서도 사용하고 싶다면이 기능을 만들어서 onChange()에 넣으면됩니다.

  1. 스크립트 편집기를 엽니 다. 도구 -> 스크립트 편집기

  2. 스크립트 편집기의 끝에 다음 코드를 추가합니다 :

    function updateCountry(){ 
        var mysheet = SpreadsheetApp.getActiveSpreadsheet(); 
        var sheet = mysheet.getSheetByName("Submissions"); //Sheet Name is "Submissions" 
        var sourceCell = sheet.getRange(2,7,1,1); //Row 2, Column G, First Row in G, 1  Column in Range 
        var targetRows = sheet.getRange(3,7,sheet.getLastRow()-2, 1); //Row 3, Column G, Last row currently populated, 1 Column in Range 
        sourceCell.copyTo(targetRows); //Will copy the formula from sourceCell to targetRows. 
    
    } 
    
    function onChange(){ 
        updateCountry(); //Run this on every change. 
    } 
    
  3. 저장 "CCI 응답"으로 편집 된 스크립트 파일.

  4. 이제 스크립트 편집기에서 자원 -> 현재 프로젝트 트리거로 이동하십시오. 다음 설정을 생산하고 저장하기 위해 풀 다운을 사용하여 내가 붙어 어딘지 이제 새로운 IP 열 G.에 추가 될 때 어떻게되는지 Triggers

+0

도움 주셔서 감사합니다. 안돼를 찾는 법을 말해 줄 수 있어요? 6 월 인도의 q1에 대한 긍정적 인 반응. 나는 이것을 작성했지만 작동하지 않는다. (arrayformula (if (right (left ""Sheet1 "! A $ 2 : A, 5), 2) ="05 ", 1,0)), arrayformula (if ("Sheet1 "B $ 2 : B ="Positive ", 1,0)), arrayformula (if ("Sheet1 "! G $ 2 : G ="India ", 1,0))) – chiragvora

+0

@chiragvora 셀 편집기 상자에서 데이터를 보는 경우 시트에 표시되는 내용과 비교하여 스크롤 할 때 차이가 나타납니다. 또한 셀 분석 (예 : right (left (Sheet1! A $ 2 : A, 5), 2))은 원래 문제의 날짜 형식이 다음과 같이 처리되었음을 나타냅니다. dd/mm/yyyy . 시트 이름에서 ""을 제거해야한다고 생각합니다. 또한 최신 버전의 Google 스프레드 시트를 사용하는 경우 이전 질문에서 설명한대로 countifs를 사용해야 할 수도 있습니다. – N8sBug

+0

이것은 내가 작성한 것입니다 = COUNTIFS (if (Sheet1! A $ 2 : A, 6), 2) = "6", 1,0)), if (Sheet1! B $ 2 : B = "Positive", 1,0), if (Sheet1!G $ 2 : G = "India", 1,0)) 오류 - COUNTIFS는 위치 2 이후의 모든 인수가 쌍으로 나타날 것으로 예상합니다. URL - https://docs.google.com/spreadsheets/d/1lvmwHqINzKxjKgZjmDAkntFDo2R_lrfy2GUd-ohCA2A/edit?usp=sharing – chiragvora

관련 문제