如您所见,有一列显示IP地址。 基本上它是一个调查表(JotForm),其响应在Google电子表格上实时更新。
根据可用的IP地址,如何找到其各自的国家/地区名称。
我有一个解决方案
=query( importhtml("http://whatismyipaddress.com/ip/" & G4, "table", 2), "select Col2 where Col1 = 'Country:' ", 0 )
但在这方面,我面临一个问题。我正在使用jotforms并将其与Google Spreadsheets集成。它给出了我到目前为止收到的所有回复的位置。我使用了向下拖动功能并将其拖到100号单元格。收到新响应后,信息现在存储在101号单元格中,而我输入公式的所有其他信息都留空。
对此有何解决方法?任何数组公式都可以吗?
还有其他办法吗?
答案 0 :(得分:1)
你的配方似乎运作良好。不幸的是,我还没有找到一种更简单的方法来使用arrayformula()。但是关于如何自动神奇地进行此更新的问题是非常可行的。以下将假设您已将公式放在单元格G2中。 (您可能会发现您也希望在其他地方使用它,在这种情况下,您只需创建不同的函数以使其工作并将它们放在onChange()中)。
打开脚本编辑器。工具 - >脚本编辑器
将以下代码添加到脚本编辑器的末尾:
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.
}
将编辑过的脚本文件另存为“CCI响应”。
现在在脚本编辑器中转到Resources-> Current Projects Triggers。使用下拉菜单生成以下设置并保存:
现在看看将新IP添加到G列后会发生什么。