{"id":97139,"date":"2020-10-28T17:59:44","date_gmt":"2020-10-28T08:59:44","guid":{"rendered":"https:\/\/support.questetra.com\/?p=97139"},"modified":"2023-08-16T17:12:25","modified_gmt":"2023-08-16T08:12:25","slug":"google-sheets-sheet-row-update-with-singleline-tsv","status":"publish","type":"post","link":"https:\/\/support.questetra.com\/en\/addons\/google-sheets-sheet-row-update-with-singleline-tsv\/","title":{"rendered":"Google Sheets: Sheet Row, Update with Singleline TSV"},"content":{"rendered":"\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1200\" height=\"68\" data-attachment-id=\"89186\" data-permalink=\"https:\/\/support.questetra.com\/en\/maintenance\/maintenance-20251117\/attachment\/professional-banner-en\/\" data-orig-file=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/06\/professional-banner-en.png?fit=1200%2C68&amp;ssl=1\" data-orig-size=\"1200,68\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"professional-banner-en\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/06\/professional-banner-en.png?fit=1024%2C58&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/06\/professional-banner-en.png?resize=1200%2C68&#038;ssl=1\" alt=\"\" class=\"wp-image-89186\" srcset=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/06\/professional-banner-en.png?w=1200&amp;ssl=1 1200w, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/06\/professional-banner-en.png?resize=600%2C34&amp;ssl=1 600w, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/06\/professional-banner-en.png?resize=1024%2C58&amp;ssl=1 1024w, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/06\/professional-banner-en.png?resize=768%2C44&amp;ssl=1 768w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><div class=\"su-box su-box-style-soft\" id=\"\" style=\"border-color:#cc66cc;border-radius:0px;max-width:none\"><div class=\"su-box-title\" style=\"background-color:#ff99ff;color:#000000;border-top-left-radius:0px;border-top-right-radius:0px\">Google Sheets: Sheet Row, Update with Singleline TSV<\/div><div class=\"su-box-content su-u-clearfix su-u-trim\" style=\"border-bottom-left-radius:0px;border-bottom-right-radius:0px\"> Updates a Google Sheet with a single line of TSV data. Searches for an A-Column cell that exactly matches the first value of the TSV and overwrite only the first occurrence. The values will be parsed as if they were entered manually by the user. If no matching line exists, it will be appended at the end.<\/div><\/div>\n\n\n<div class=\"su-spoiler su-spoiler-style-modern-light su-spoiler-icon-plus-square-1\" data-anchor=\"configs\" data-scroll-offset=\"0\" data-anchor-in-url=\"no\"><div class=\"su-spoiler-title\" tabindex=\"0\" role=\"button\"><span class=\"su-spoiler-icon\"><\/span>Configs<\/div><div class=\"su-spoiler-content su-u-clearfix su-u-trim\">\n<ul class=\"fa-ul\">\n<li><span class=\"fa-li\"><i class=\"fal fa-badge-check fa-lg\"><\/i><\/span> A: Select Authorization Setting (OAuth2)<span style=\"color:#990000;\"> *<\/span><\/li>\n<li><span class=\"fa-li\"><i class=\"far fa-pen-square fa-lg\"><\/i><\/span> B: Set Singleline TSV dataset<span style=\"color:#990000;\"> *<\/span><span style=\"color:#000099;\"><sup style=\"font-style:italic;\">#{EL}<\/sup><\/span><\/li>\n<li><span class=\"fa-li\"><i class=\"far fa-pen-square fa-lg\"><\/i><\/span> C: Set ID of Spreadsheet into which Dataset will be updated<span style=\"color:#990000;\"> *<\/span><span style=\"color:#000099;\"><sup style=\"font-style:italic;\">#{EL}<\/sup><\/span><\/li>\n<li><span class=\"fa-li\"><i class=\"far fa-pen-square fa-lg\"><\/i><\/span> D: Set Name of Sheet into which Dataset will be updated<span style=\"color:#000099;\"><sup style=\"font-style:italic;\">#{EL}<\/sup><\/span><\/li>\n<\/ul>\n<\/div><\/div>\n\n\n<div class=\"su-spoiler su-spoiler-style-modern-light su-spoiler-icon-plus-square-1 su-spoiler-closed\" data-anchor=\"script\" data-scroll-offset=\"0\" data-anchor-in-url=\"no\"><div class=\"su-spoiler-title\" tabindex=\"0\" role=\"button\"><span class=\"su-spoiler-icon\"><\/span>Script (click to open)<\/div><div class=\"su-spoiler-content su-u-clearfix su-u-trim\">\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-js\" data-lang=\"JavaScript\"><code>\/\/ GraalJS Script (engine type: 2)\n\/*\nNOTES\n- Refers and updates the first visible sheet if sheet name is not specified.\n- If row deletion or sort is performed at the same time, different record may be updated.\n- When the maximum row of the sheet is reached, an error will occur. (Not appended)\n- If no data in column A, an error will occur. (Not appended)\n\n- \u30b7\u30fc\u30c8\u540d\u304c\u7121\u6307\u5b9a\u306e\u5834\u5408\u3001\u5148\u982d\u30b7\u30fc\u30c8\uff08\u8868\u793a\u3055\u308c\u3066\u3044\u308b\u3082\u306e\uff09\u3092\u53c2\u7167\u30fb\u66f4\u65b0\u3057\u307e\u3059\u3002\n- \u540c\u6642\u306b\u3001\u884c\u524a\u9664\u3084\u4e26\u66ff\u51e6\u7406\u304c\u306a\u3055\u308c\u305f\u5834\u5408\u3001\u7570\u306a\u308b\u30ec\u30b3\u30fc\u30c9\u304c\u66f4\u65b0\u3055\u308c\u3066\u3057\u307e\u3046\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002\n- \u30b7\u30fc\u30c8\u306e\u6700\u5927\u884c\u306b\u9054\u3057\u305f\u969b\u306f\u3001\u30a8\u30e9\u30fc\u7d42\u4e86\u3057\u307e\u3059\uff08\u8ffd\u8a18\u3055\u308c\u307e\u305b\u3093\uff09\n- A\u5217\u306b1\u3064\u306e\u30c7\u30fc\u30bf\u3082\u5b58\u5728\u3057\u306a\u3044\u5834\u5408\u306f\u3001\u30a8\u30e9\u30fc\u7d42\u4e86\u3057\u307e\u3059\uff08\u8ffd\u8a18\u3055\u308c\u307e\u305b\u3093\uff09\n*\/\n\n\/\/\/\/\/\/\/\/ START &quot;main()&quot; \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\nmain();\nfunction main(){ \n\n\/\/\/\/ == Config Retrieving \/ \u5de5\u7a0b\u30b3\u30f3\u30d5\u30a3\u30b0\u306e\u53c2\u7167 ==\nconst strOauthSetting       = configs.get( &quot;OAuth2ConfA&quot; );   \/\/ required\nconst strSingleTsv          = configs.get( &quot;StrConfB&quot; ) + &quot;&quot;; \/\/ required\nconst strDocId              = configs.get( &quot;StrConfC&quot; ) + &quot;&quot;; \/\/ required\nlet   strSheetName          = configs.get( &quot;StrConfD&quot; ) + &quot;&quot;; \/\/ required\n\nif( strSingleTsv === &quot;&quot; ){\n  throw new Error( &quot;\\n AutomatedTask ConfigError:&quot; +\n                   &quot; Config {B TSV} not specified \\n&quot; );\n}\nif( strDocId === &quot;&quot; ){\n  throw new Error( &quot;\\n AutomatedTask ConfigError:&quot; +\n                   &quot; Config {C Spreadsheet ID} not specified \\n&quot; );\n}\nif( strSheetName === &quot;&quot; ){\n  engine.log( &quot; AutomatedTask ConfigWarning:&quot; +\n              &quot; Config {E Sheet Name} is empty, the first visible sheet is refered&quot; );\n}\n\n\n\/\/\/\/ == Data Retrieving \/ \u30ef\u30fc\u30af\u30d5\u30ed\u30fc\u30c7\u30fc\u30bf\u306e\u53c2\u7167 ==\n\/\/ (nothing)\n\n\n\/\/\/\/ == Calculating \/ \u6f14\u7b97 ==\n\n\/\/\/\/ Check Tsv Dataset\nconst arrTsvCells = strSingleTsv.split(&quot;\\t&quot;);\nengine.log( &quot; AutomatedTask Singleline TSV Loaded: Number of Columns &quot; + arrTsvCells.length );\n\n\n\/\/\/\/ Get CellValues from the Sheet (Api Request 1)\n\n\/\/ prepare request1\n\/\/ ref) https:\/\/developers.google.com\n\/\/            \/sheets\/api\/reference\/rest\/v4\/spreadsheets.values\/get\nconst token  = httpClient.getOAuth2Token( strOauthSetting );\nlet strRange = strSheetName ? (strSheetName + &quot;!A:A&quot;) : &quot;A:A&quot;;\nengine.log( &quot; AutomatedTask Range to Get: &quot; + strRange );\nlet getUri1  = &quot;https:\/\/sheets.googleapis.com\/v4\/spreadsheets\/&quot; +\n                strDocId + &quot;\/values\/&quot; + strRange;\nlet request1 = httpClient.begin(); \/\/ HttpRequestWrapper\n    request1 = request1.bearer( token );\n    request1 = request1.queryParam( &quot;majorDimension&quot;, &quot;ROWS&quot; ); \n    request1 = request1.queryParam( &quot;valueRenderOption&quot;, &quot;FORMATTED_VALUE&quot; ); \n               \/\/ If formatted as currency, return &quot;$1.23&quot; not &quot;1.23&quot;.\n    request1 = request1.queryParam( &quot;dateTimeRenderOption&quot;, &quot;FORMATTED_STRING&quot; ); \n               \/\/ Date as strings (the spreadsheet locale) not SERIAL_NUMBER\nengine.log( &quot; AutomatedTask ApiRequest1 Prepared&quot; );\n\n\/\/ request1\nconst response1     = request1.get( getUri1 ); \/\/ HttpResponseWrapper\nengine.log( &quot; AutomatedTask ApiRequest1 Start: &quot; + getUri1 );\nconst response1Code = response1.getStatusCode() + &quot;&quot;; \/\/ (primitive string)\nconst response1Body = response1.getResponseAsString() + &quot;&quot;;\nengine.log( &quot; AutomatedTask ApiResponse Status: &quot; + response1Code );\nif( response1Code !== &quot;200&quot;){\n  throw new Error( &quot;\\n AutomatedTask UnexpectedResponseError: &quot; +\n                    response1Code + &quot;\\n&quot; + response1Body + &quot;\\n&quot; );\n}\n\n\/\/ parse response1\n\/* engine.log( response2Body ); \/\/ debug\nresponse sample\n{\n  &quot;range&quot;: &quot;&#39;country-code&#39;!A1:A1000&quot;,\n  &quot;majorDimension&quot;: &quot;ROWS&quot;,\n  &quot;values&quot;: [\n    [\n      &quot;Afghanistan&quot;\n    ],\n    [\n      &quot;Aland Islands&quot;\n    ],\n    [\n      &quot;Zimbabwe&quot;\n    ]\n  ]\n}\n*\/\nconst response1Obj = JSON.parse( response1Body );\n\nif(! &#39;values&#39; in response1Obj){\n  throw new Error( &quot;\\n AutomatedTask UnexpectedSheetError: &quot; +\n                    &quot;No Value in &quot; + strRange + &quot;\\n&quot; );\n}\nengine.log( &quot; AutomatedTask ApiResponse #of Values: &quot; + response1Obj.values.length );\nlet arrColAValues  = new Array( response1Obj.values.length );\nfor( let i = 0; i &lt; response1Obj.values.length; i++ ){\n  arrColAValues[i] = response1Obj.values[i] ? response1Obj.values[i][0] : &quot;&quot;;\n}\n\n\n\/\/\/\/ Search &quot;arrTsvCells[0]&quot; in &quot;arrColAValues&quot;\nlet numMatched = arrColAValues.length; \/\/ NoMatch Case\nfor( let i = 0; i &lt; arrColAValues.length; i++ ){\n  if( arrColAValues[i] === arrTsvCells[0] ){\n    numMatched = i;  \/\/ Match Case\n    break;\n  }\n}\n\n\n\/\/\/\/ Update Values of the Sheet (Api Request 2)\n\n\/\/ prepare request2\n\/\/ ref) https:\/\/developers.google.com\n\/\/            \/sheets\/api\/reference\/rest\/v4\/spreadsheets.values\/update\nlet strRange2 = strSheetName ?\n                strSheetName + &quot;!&quot; + (numMatched + 1) + &quot;:&quot; + (numMatched + 1) :\n                (numMatched + 1) + &quot;:&quot; + (numMatched + 1);\nengine.log( &quot; AutomatedTask Range to Update: &quot; + strRange2 );\nlet request2Obj = {};\n    request2Obj.values = [];\n    request2Obj.values[0] = strSingleTsv.split(&quot;\\t&quot;);\nlet request2 = httpClient.begin(); \/\/ HttpRequestWrapper\n    request2 = request2.bearer( token );\n    request2 = request2.queryParam( &quot;valueInputOption&quot;, &quot;USER_ENTERED&quot; ); \n    request2 = request2.body( JSON.stringify( request2Obj ), &quot;application\/json&quot; );\nengine.log( &quot; AutomatedTask ApiRequest2 Prepared&quot; );\n\n\/\/ request2\nlet   putUri2       = &quot;https:\/\/sheets.googleapis.com\/v4\/spreadsheets\/&quot; +\n                       strDocId + &quot;\/values\/&quot; + strRange2;\nconst response2     = request2.put( putUri2 ); \/\/ HttpResponseWrapper\nengine.log( &quot; AutomatedTask ApiRequest2 Start: &quot; + putUri2 );\nconst response2Code = response2.getStatusCode() + &quot;&quot;; \/\/ (primitive string)\nconst response2Body = response2.getResponseAsString() + &quot;&quot;;\nengine.log( &quot; AutomatedTask ApiResponse Status: &quot; + response2Code );\nif( response2Code !== &quot;200&quot;){\n  throw new Error( &quot;\\n AutomatedTask UnexpectedResponseError: &quot; +\n                    response2Code + &quot;\\n&quot; + response2Body + &quot;\\n&quot; );\n}\n\n\n\/\/\/\/ == Data Updating \/ \u30ef\u30fc\u30af\u30d5\u30ed\u30fc\u30c7\u30fc\u30bf\u3078\u306e\u4ee3\u5165 ==\n\/\/ (nothing)\n\n\n} \/\/\/\/\/\/\/\/ END &quot;main()&quot; \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\n\n\n\n\/*\nAPPENDIX\n- &quot;SpreadsheetID&quot; and &quot;SheetID&quot; in URL\n    - https:\/\/docs.google.com\/spreadsheets\/d\/SPREADSHEETID\/edit#gid=SHEETID\n- To Get &quot;ClientId&quot; and &quot;Secret&quot;\n    - Access to https:\/\/console.developers.google.com\/apis\/credentials\n- This request requires authorization with at least one of the following scopes:\n    - https:\/\/www.googleapis.com\/auth\/drive\n    - https:\/\/www.googleapis.com\/auth\/drive.file\n    - https:\/\/www.googleapis.com\/auth\/spreadsheets\n- OAuth Setting sample\n    - &quot;Authorization Endpoint URL&quot;\n        - https:\/\/accounts.google.com\/o\/oauth2\/auth?access_type=offline&approval_prompt=force\n    - &quot;Token Endpoint URL&quot;\n        - https:\/\/accounts.google.com\/o\/oauth2\/token\n    - &quot;Scope&quot;\n        - https:\/\/www.googleapis.com\/auth\/spreadsheets\n- Error Log sample (wrong SheetName)\n    - &quot;message&quot;: &quot;Unable to parse range: NonExistName!A:A&quot;,\n    - &quot;status&quot;: &quot;INVALID_ARGUMENT&quot;\n- Error Log sample (Need to expand editing area)\n    &quot;message&quot;: &quot;Range (&#39;Sheet1&#39;!1001) exceeds grid limits. Max rows: 1000, max columns: 26&quot;,\n*\/\n\n<\/code><\/pre><\/div>\n\n\n<\/div><\/div>\n\n\n\n<figure class=\"wp-block-image alignright\"><a href=\"#\"><img decoding=\"async\" src=\"data:image;base64,\niVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAC3ElEQVRYR8WXbUgTcRzHv\/85bZvF\nZmMwLKwXgkEUGFFKvSi6EoLe+M7IF3lGWtATQW9615uMKOlFaroFKc1XRvSiF14YPUBEtfKFpPlC\nI1TQ2q10Tr3dP3bzxm7e7e7m6u717+Fzv+c\/gcUfMeq\/vOuEa9EWq6dF5DAoqkGxHQRlkj5FBAQT\nIAiTBB1yiq6BqbPPYkZs6wL4Hh7yr4j2awRooYDDoNE4BTqLbULb7OmXM7l0cgKUBY62UNDbAEqN\nOFaRWSAgVyPsYKeWviaAO8jcJxSteTpWqFGCjmgTd07NliqAO8A8JkBDIZzLNigQirLcyWybawAK\n+efZztQioQBYzXlHtuK9g1fQUHkMdluRalCWRQH944O4+OaObtAISGtmTaQBVqt9XK3g3tX3oMqz\nTdP45J8ZiBDxevqLEYiFYptQKXdHGsATYO4CuKTmRQ9glJ\/E9fcPcKv2vFGIdp7lLid9SQDSkLEv\n\/tTqcyMANQPNYLbuMwRBgLhTcHqTw0oCKOs+coraSK9WjPUAYkIcr6Y+I7o8j43FTtT6d6F75Clu\nhh9ppo2ItDFy5kWfBOAJMgFQNOULoKbXO\/YcF3IVJUGQb+LYFECA+QSg+r8CAGGe5fakAHqYX+nF\nokKhl4K8IkAR4Zu5zXIEaK4GzgTgl+YxNPURy4kVhYrf5cUB\/+70rNBNAQCe5YhpgOnYHEb579jr\n24EPs1+xpdQHr8ONt9PDqKuoQYnNLoGZAzCRgiRA6Nug5Hj89w94N7ixqcSFuLCExqrjxgGyUmC4\nCAsGoChCE21YsBRktqGZQVSoIlQMovWOYrNtuGYUrw6jvJeRWQAAymWUNJBrHYeYG6ir2A+S2l26\nXzyxhLZwH9qH+9Vk1dextJRSR+iag6S81IfWnfXwOTy6zpMC4bkxdI08UZXVPEhkaUtPsjSElUfp\nv4iE6bNchrD0YSJDWPo0yyxjyx6nhvpuHUJ\/AerAujDWZMynAAAAAElFTkSuQmCC\n\" alt=\"\"\/><\/a><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><i class=\"fal fa-cloud-download-alt\"><\/i> Download<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a rel=\"noreferrer noopener\" href=\"https:\/\/drive.google.com\/file\/d\/1gyh3lPXj0jctXj3g-V7bMrFQFrgSiqw1\/view?usp=drivesdk\" target=\"_blank\">Google-Sheets-Sheet-Row-Update-with-Singleline-TSV.xml<\/a>\n<ul class=\"wp-block-list\">\n<li>2020-10-27 (C) Questetra, Inc. (MIT License)<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><a href=\"https:\/\/drive.google.com\/file\/d\/1Jd3Z7R6MVMxTGr0xDB5LG-5p5khym66Y\/view?usp=sharing\" target=\"_blank\" rel=\"noreferrer noopener\">Google-Sheets-Sheet-Row-Update-with-Singleline-TSV-2023.xml<\/a>\n<ul class=\"wp-block-list\">\n<li>2023-08-15 (C) Questetra, Inc. (MIT License)<\/li>\n\n\n\n<li>for &#8220;GraalJS standard (engine-type 3)&#8221; on v15.0 or above<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>When sending in &#8220;RAW&#8221; write mode instead of &#8220;USER_ENTERED&#8221; write (valueInputOption)\n<ul class=\"wp-block-list\">\n<li><a rel=\"noreferrer noopener\" href=\"https:\/\/drive.google.com\/file\/d\/1Gd3R8SNQza3S44ou-XJWnCPpLDxHPvrs\/view?usp=sharing\" target=\"_blank\">Google-Sheets-Sheet-Row-Update-with-Singleline-TSV-RAW.xml<\/a>\n<ul class=\"wp-block-list\">\n<li>2020-10-27 (C) Questetra, Inc. (MIT License)<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><a href=\"https:\/\/drive.google.com\/file\/d\/1756yCIGNRFNnS3ThIzQ7DbU5dtVbyPOH\/view?usp=sharing\" target=\"_blank\" rel=\"noreferrer noopener\">Google-Sheets-Sheet-Row-Update-with-Singleline-TSV-RAW-2023.xml<\/a>\n<ul class=\"wp-block-list\">\n<li>2023-08-15 (C) Questetra, Inc. (MIT License)<\/li>\n\n\n\n<li>for &#8220;GraalJS standard (engine-type 3)&#8221; on v15.0 or above<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p class=\"has-text-align-right has-small-font-size wp-block-paragraph\"> The Addon-import feature is available with <span style=\"background-color:rgba(0, 0, 0, 0);color:#4a86e8\" class=\"has-inline-color\"><strong>Professional<\/strong><\/span> edition.<\/p>\n\n\n<div class=\"su-divider su-divider-style-dashed\" style=\"margin:30px 0;border-width:8px;border-color:#009900\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><i class=\"fal fa-lightbulb-exclamation\"><\/i> Notes<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Refers to and updates the first visible sheet if a sheet name is not specified.<\/li>\n\n\n\n<li>If row deletion or sorting is performed at the same time, a different record may be updated.<\/li>\n\n\n\n<li>When the maximum number of rows in a sheet is reached, an error will occur (no additional information is appended)<\/li>\n\n\n\n<li>If there is no data in column A, an error will occur (no additional information is appended)<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><i class=\"fal fa-images\"><\/i> Capture<\/h3>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/10\/Google-Sheets-Sheet-Row-Update-with-Singleline-TSV-caputure-en.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1200\" height=\"675\" data-attachment-id=\"97142\" data-permalink=\"https:\/\/support.questetra.com\/en\/addons\/google-sheets-sheet-row-update-with-singleline-tsv\/attachment\/google-sheets-sheet-row-update-with-singleline-tsv-caputure-en\/\" data-orig-file=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/10\/Google-Sheets-Sheet-Row-Update-with-Singleline-TSV-caputure-en.png?fit=1200%2C675&amp;ssl=1\" data-orig-size=\"1200,675\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Google-Sheets-Sheet-Row-Update-with-Singleline-TSV-caputure-en\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/10\/Google-Sheets-Sheet-Row-Update-with-Singleline-TSV-caputure-en.png?fit=1024%2C576&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/10\/Google-Sheets-Sheet-Row-Update-with-Singleline-TSV-caputure-en.png?resize=1200%2C675&#038;ssl=1\" alt=\"Updates Google Sheets with singleline TSV. Searches A-Column cell that exactly matches the first value of the TSV, and overwrite only the first occurrence. The values will be parsed as if the user typed. If no matching line, append to the end.\" class=\"wp-image-97142\" srcset=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/10\/Google-Sheets-Sheet-Row-Update-with-Singleline-TSV-caputure-en.png?w=1200&amp;ssl=1 1200w, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/10\/Google-Sheets-Sheet-Row-Update-with-Singleline-TSV-caputure-en.png?resize=560%2C315&amp;ssl=1 560w, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/10\/Google-Sheets-Sheet-Row-Update-with-Singleline-TSV-caputure-en.png?resize=1024%2C576&amp;ssl=1 1024w, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/10\/Google-Sheets-Sheet-Row-Update-with-Singleline-TSV-caputure-en.png?resize=768%2C432&amp;ssl=1 768w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/a><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><i class=\"fal fa-book\"><\/i> Appendix<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>&#8220;SpreadsheetID&#8221; and &#8220;SheetID&#8221; in URL\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/docs.google.com\/spreadsheets\/d\/SPREADSHEETID\/edit#gid=SHEETID\" rel=\"nofollow\">https:\/\/docs.google.com\/spreadsheets\/d\/SPREADSHEETID\/edit#gid=SHEETID<\/a><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>To Get &#8220;ClientId&#8221; and &#8220;Secret&#8221;\n<ul class=\"wp-block-list\">\n<li>Access to <a href=\"https:\/\/console.developers.google.com\/apis\/credentials\" rel=\"nofollow\">https:\/\/console.developers.google.com\/apis\/credentials<\/a><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>This request requires authorization with at least one of the following scopes:\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.googleapis.com\/auth\/drive\" rel=\"nofollow\">https:\/\/www.googleapis.com\/auth\/drive<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.googleapis.com\/auth\/drive.file\" rel=\"nofollow\">https:\/\/www.googleapis.com\/auth\/drive.file<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.googleapis.com\/auth\/spreadsheets\" rel=\"nofollow\">https:\/\/www.googleapis.com\/auth\/spreadsheets<\/a><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>OAuth Setting sample\n<ul class=\"wp-block-list\">\n<li>&#8220;Authorization Endpoint URL&#8221;\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/accounts.google.com\/o\/oauth2\/auth?access_type=offline&#038;approval_prompt=force\" rel=\"nofollow\">https:\/\/accounts.google.com\/o\/oauth2\/auth?access_type=offline&#038;approval_prompt=force<\/a><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>&#8220;Token Endpoint URL&#8221;\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/accounts.google.com\/o\/oauth2\/token\" rel=\"nofollow\">https:\/\/accounts.google.com\/o\/oauth2\/token<\/a><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>&#8220;Scope&#8221;\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.googleapis.com\/auth\/spreadsheets\" rel=\"nofollow\">https:\/\/www.googleapis.com\/auth\/spreadsheets<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Error Log sample (wrong SheetName)\n<ul class=\"wp-block-list\">\n<li>&#8220;message&#8221;: &#8220;Unable to parse range: NonExistName!A:A&#8221;,<\/li>\n\n\n\n<li>&#8220;status&#8221;: &#8220;INVALID_ARGUMENT&#8221;<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Error Log sample (Need to expand editing area)<br>&#8220;message&#8221;: &#8220;Range (&#8216;Sheet1&#8217;!1001) exceeds grid limits. Max rows: 1000, max columns: 26&#8221;,<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><i class=\"fal fa-balance-scale\"><\/i> See also<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/support.questetra.com\/en\/addons\/google-sheets-sheet-append-tsv\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"Google Sheets: Sheet, Append TSV(opens in a new tab)\">Google Sheets: Sheet, Append TSV<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/support.questetra.com\/en\/addons\/google-sheets-master-table-simple-xlookup\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"Google Sheets: Master Table, Simple Xlookup(opens in a new tab)\">Google Sheets: Master Table, Simple Xlookup<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/support.questetra.com\/en\/addons\/google-sheets-values-export-as-tsv\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"Google Sheets: Values, Export as TSV(opens in a new tab)\">Google Sheets: Values, Export as TSV<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/support.questetra.com\/en\/bpmn-icons\/intermediate-error-catch-event-boundary-type\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"Intermediate Error Catch Event (Boundary Type)(opens in a new tab)\">Intermediate Error Catch Event (Boundary Type)<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Updates a Google Sheet with a single line of TSV data. Searches for an A-Column cell that exactly matches the first value of the TSV and overwrite only the first occurrence. The values will be parsed as if they were entered manually by the user. If no matching line exists, it will be appended at the end.<\/p>\n","protected":false},"author":2,"featured_media":97140,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","_uag_custom_page_level_css":"","advanced_seo_description":"Updates Google Sheets with singleline TSV. Searches A-Column cell that exactly matches the first value of the TSV, and overwrite only the first occurrence. The values will be parsed as if the user typed. If no matching line, append to the end.","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"jetpack_seo_schema_type":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_wpcom_ai_launchpad_first_post":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"{title}\n\n{excerpt}\n\n{url}","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_wpas_customize_per_network":false,"jetpack_post_was_ever_published":false},"categories":[168],"tags":[396,3162,389],"class_list":["post-97139","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-addons","tag-google-sheets-api-v4","tag-google-workspace","tag-tsv-csv"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/10\/Google-Sheets-Sheet-Row-Update-with-Singleline-TSV-en.png?fit=1200%2C675&ssl=1","uagb_featured_image_src":{"full":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/10\/Google-Sheets-Sheet-Row-Update-with-Singleline-TSV-en.png?fit=1200%2C675&ssl=1",1200,675,false],"thumbnail":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/10\/Google-Sheets-Sheet-Row-Update-with-Singleline-TSV-en.png?resize=440%2C440&ssl=1",440,440,true],"medium":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/10\/Google-Sheets-Sheet-Row-Update-with-Singleline-TSV-en.png?fit=560%2C315&ssl=1",560,315,true],"medium_large":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/10\/Google-Sheets-Sheet-Row-Update-with-Singleline-TSV-en.png?fit=768%2C432&ssl=1",768,432,true],"large":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/10\/Google-Sheets-Sheet-Row-Update-with-Singleline-TSV-en.png?fit=1024%2C576&ssl=1",1024,576,true],"1536x1536":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/10\/Google-Sheets-Sheet-Row-Update-with-Singleline-TSV-en.png?fit=1200%2C675&ssl=1",1200,675,true],"2048x2048":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/10\/Google-Sheets-Sheet-Row-Update-with-Singleline-TSV-en.png?fit=1200%2C675&ssl=1",1200,675,true],"newspack-article-block-landscape-large":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/10\/Google-Sheets-Sheet-Row-Update-with-Singleline-TSV-en.png?resize=1200%2C675&ssl=1",1200,675,true],"newspack-article-block-portrait-large":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/10\/Google-Sheets-Sheet-Row-Update-with-Singleline-TSV-en.png?resize=900%2C675&ssl=1",900,675,true],"newspack-article-block-square-large":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/10\/Google-Sheets-Sheet-Row-Update-with-Singleline-TSV-en.png?resize=1200%2C675&ssl=1",1200,675,true],"newspack-article-block-landscape-medium":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/10\/Google-Sheets-Sheet-Row-Update-with-Singleline-TSV-en.png?resize=800%2C600&ssl=1",800,600,true],"newspack-article-block-portrait-medium":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/10\/Google-Sheets-Sheet-Row-Update-with-Singleline-TSV-en.png?resize=600%2C675&ssl=1",600,675,true],"newspack-article-block-square-medium":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/10\/Google-Sheets-Sheet-Row-Update-with-Singleline-TSV-en.png?resize=800%2C675&ssl=1",800,675,true],"newspack-article-block-landscape-intermediate":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/10\/Google-Sheets-Sheet-Row-Update-with-Singleline-TSV-en.png?resize=600%2C450&ssl=1",600,450,true],"newspack-article-block-portrait-intermediate":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/10\/Google-Sheets-Sheet-Row-Update-with-Singleline-TSV-en.png?resize=450%2C600&ssl=1",450,600,true],"newspack-article-block-square-intermediate":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/10\/Google-Sheets-Sheet-Row-Update-with-Singleline-TSV-en.png?resize=600%2C600&ssl=1",600,600,true],"newspack-article-block-landscape-small":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/10\/Google-Sheets-Sheet-Row-Update-with-Singleline-TSV-en.png?resize=400%2C300&ssl=1",400,300,true],"newspack-article-block-portrait-small":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/10\/Google-Sheets-Sheet-Row-Update-with-Singleline-TSV-en.png?resize=300%2C400&ssl=1",300,400,true],"newspack-article-block-square-small":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/10\/Google-Sheets-Sheet-Row-Update-with-Singleline-TSV-en.png?resize=400%2C400&ssl=1",400,400,true],"newspack-article-block-landscape-tiny":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/10\/Google-Sheets-Sheet-Row-Update-with-Singleline-TSV-en.png?resize=200%2C150&ssl=1",200,150,true],"newspack-article-block-portrait-tiny":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/10\/Google-Sheets-Sheet-Row-Update-with-Singleline-TSV-en.png?resize=150%2C200&ssl=1",150,200,true],"newspack-article-block-square-tiny":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/10\/Google-Sheets-Sheet-Row-Update-with-Singleline-TSV-en.png?resize=200%2C200&ssl=1",200,200,true],"newspack-article-block-uncropped":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/10\/Google-Sheets-Sheet-Row-Update-with-Singleline-TSV-en.png?fit=1200%2C675&ssl=1",1200,675,true]},"uagb_author_info":{"display_name":"IMAMURA, Genichi","author_link":"https:\/\/support.questetra.com\/en\/author\/imamuragenichi\/"},"uagb_comment_info":1,"uagb_excerpt":"Updates a Google Sheet with a single line of TSV data. Searches for an A-Column cell that exactly matches the first value of the TSV and overwrite only the first occurrence. The values will be parsed as if they were entered manually by the user. If no matching line exists, it will be appended at&hellip;","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p9DiIh-pgL","jetpack_likes_enabled":true,"jetpack-related-posts":[{"id":97147,"url":"https:\/\/support.questetra.com\/ja\/addons\/google-sheets-sheet-row-update-with-singleline-tsv\/","url_meta":{"origin":97139,"position":0},"title":"Google \u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8: \u884c\u30c7\u30fc\u30bf, \u5358\u4e00\u884cTSV\u3067\u66f4\u65b0","author":"IMAMURA, Genichi","date":"2020-10-28","format":false,"excerpt":"\u5358\u4e00\u884cTSV\u30c7\u30fc\u30bf\u3067Google\u30b7\u30fc\u30c8\u3092\u66f4\u65b0\u3057\u307e\u3059\u3002TSV\u306e\u5148\u982d\u5024\u3068\u5b8c\u5168\u4e00\u81f4\u3059\u308bA\u30bb\u30eb\u3092\u63a2\u7d22\u3057\u3001\u6700\u521d\u306b\u5408\u81f4\u3057\u305f\u884c\u306b\u3064\u3044\u3066\u4e0a\u66f8\u304d\u3057\u307e\u3059\u3002\u305d\u308c\u305e\u308c\u5024\u306f\u3001\u624b\u5165\u529b\u3057\u305f\u969b\u3068\u540c\u69d8\u306b\u81ea\u52d5\u89e3\u6790\u3055\u308c\u307e\u3059\u3002\u3082\u3057\u5408\u81f4\u3059\u308b\u884c\u304c\u7121\u3044\u5834\u5408\u306f\u3001\u672b\u5c3e\u8ffd\u8a18\u3055\u308c\u307e\u3059\u3002","rel":"","context":"In &quot;\u30a2\u30c9\u30aa\u30f3&quot;","block_context":{"text":"\u30a2\u30c9\u30aa\u30f3","link":"https:\/\/support.questetra.com\/ja\/category\/addons\/"},"img":{"alt_text":"Google \u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8: \u884c\u30c7\u30fc\u30bf, \u5358\u4e00\u884cTSV\u3067\u66f4\u65b0","src":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/10\/Google-Sheets-Sheet-Row-Update-with-Singleline-TSV-ja.png?fit=1200%2C675&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/10\/Google-Sheets-Sheet-Row-Update-with-Singleline-TSV-ja.png?fit=1200%2C675&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/10\/Google-Sheets-Sheet-Row-Update-with-Singleline-TSV-ja.png?fit=1200%2C675&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/10\/Google-Sheets-Sheet-Row-Update-with-Singleline-TSV-ja.png?fit=1200%2C675&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/10\/Google-Sheets-Sheet-Row-Update-with-Singleline-TSV-ja.png?fit=1200%2C675&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":81186,"url":"https:\/\/support.questetra.com\/en\/addons\/google-sheets-values-export-as-tsv\/","url_meta":{"origin":97139,"position":1},"title":"Google Sheets: Values, Export as TSV","author":"IMAMURA, Genichi","date":"2021-02-01","format":false,"excerpt":"Exports the values in the rectangular range as TSV text, which has the same number of tab delimiters on each line. Empty cells are regarded as the null string. Two range export are also supported: e.g. Freezed headings and recent data.","rel":"","context":"In &quot;Add-ons&quot;","block_context":{"text":"Add-ons","link":"https:\/\/support.questetra.com\/en\/category\/addons\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/10\/Google-Sheets-Values-Export-as-TSV-en.png?fit=1200%2C675&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/10\/Google-Sheets-Values-Export-as-TSV-en.png?fit=1200%2C675&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/10\/Google-Sheets-Values-Export-as-TSV-en.png?fit=1200%2C675&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/10\/Google-Sheets-Values-Export-as-TSV-en.png?fit=1200%2C675&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/10\/Google-Sheets-Values-Export-as-TSV-en.png?fit=1200%2C675&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":96354,"url":"https:\/\/support.questetra.com\/en\/addons\/google-sheets-sheet-append-tsv\/","url_meta":{"origin":97139,"position":2},"title":"Google Sheets: Sheet, Append TSV","author":"IMAMURA, Genichi","date":"2020-10-14","format":false,"excerpt":"Adds the TSV dataset after the last row. New rows will be inserted into the sheet if necessary. Only the specified columns of TSV are added, column ID with an identifier \"d\" as Datetime, and column ID with an identifier \"n\" as Numeric; eg \"0,2d,5n\".","rel":"","context":"In &quot;Add-ons&quot;","block_context":{"text":"Add-ons","link":"https:\/\/support.questetra.com\/en\/category\/addons\/"},"img":{"alt_text":"Google Sheets: Sheet, Append TSV","src":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/10\/Google-Sheets-Sheet-Append-TSV-en.png?fit=1200%2C675&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/10\/Google-Sheets-Sheet-Append-TSV-en.png?fit=1200%2C675&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/10\/Google-Sheets-Sheet-Append-TSV-en.png?fit=1200%2C675&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/10\/Google-Sheets-Sheet-Append-TSV-en.png?fit=1200%2C675&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/10\/Google-Sheets-Sheet-Append-TSV-en.png?fit=1200%2C675&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":96508,"url":"https:\/\/support.questetra.com\/en\/addons\/singleline-tsv-string-extract-cell\/","url_meta":{"origin":97139,"position":3},"title":"Singleline TSV String, Extract Cell","author":"IMAMURA, Genichi","date":"2020-10-16","format":false,"excerpt":"Extracts the cell value of the specified ID. The ID starts from zero. The extracted cell string can be stored not only in the STRING type data but also in the NUMERIC type, DATE type, DATETIME type, SELECT type, USER type, and ORG type data.","rel":"","context":"In &quot;Add-ons&quot;","block_context":{"text":"Add-ons","link":"https:\/\/support.questetra.com\/en\/category\/addons\/"},"img":{"alt_text":"Singleline TSV String, Extract Cell","src":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/10\/Singleline-TSV-String-Extract-Cell-en.png?fit=1200%2C675&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/10\/Singleline-TSV-String-Extract-Cell-en.png?fit=1200%2C675&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/10\/Singleline-TSV-String-Extract-Cell-en.png?fit=1200%2C675&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/10\/Singleline-TSV-String-Extract-Cell-en.png?fit=1200%2C675&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/10\/Singleline-TSV-String-Extract-Cell-en.png?fit=1200%2C675&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":71055,"url":"https:\/\/support.questetra.com\/en\/addons\/googlesheets-getvaluesastsv\/","url_meta":{"origin":97139,"position":4},"title":"Get Google Sheets Values as TSV","author":"Hirotaka NISHI","date":"2018-08-19","format":false,"excerpt":"Convert values on Google Sheets into TSV","rel":"","context":"In &quot;Add-ons&quot;","block_context":{"text":"Add-ons","link":"https:\/\/support.questetra.com\/en\/category\/addons\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/08\/googlesheets-get-value-as-tsv-header.png?fit=1200%2C675&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/08\/googlesheets-get-value-as-tsv-header.png?fit=1200%2C675&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/08\/googlesheets-get-value-as-tsv-header.png?fit=1200%2C675&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/08\/googlesheets-get-value-as-tsv-header.png?fit=1200%2C675&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/08\/googlesheets-get-value-as-tsv-header.png?fit=1200%2C675&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":77695,"url":"https:\/\/support.questetra.com\/en\/templates\/approval-flow-budget-control-20160920\/","url_meta":{"origin":97139,"position":5},"title":"Approval Flow-Budget Control","author":"Hirotaka NISHI","date":"2022-01-17","format":false,"excerpt":"A Proposal-approval flow that automatically records the approved spending in a Google Sheet. When a new Issue is entered at the [1. Submit plan draft] Step, the \u201cBudget Consumption Log\u201d (Google sheet) is referred to, and the total expenditure so far is calculated automatically. At the Step of [2. Decision],\u2026","rel":"","context":"In &quot;Workflow Apps&quot;","block_context":{"text":"Workflow Apps","link":"https:\/\/support.questetra.com\/en\/category\/templates\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/07\/eye-catch-approval-flow-budget-control-20160920-220-en.png?fit=1200%2C675&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/07\/eye-catch-approval-flow-budget-control-20160920-220-en.png?fit=1200%2C675&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/07\/eye-catch-approval-flow-budget-control-20160920-220-en.png?fit=1200%2C675&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/07\/eye-catch-approval-flow-budget-control-20160920-220-en.png?fit=1200%2C675&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/07\/eye-catch-approval-flow-budget-control-20160920-220-en.png?fit=1200%2C675&ssl=1&resize=1050%2C600 3x"},"classes":[]}],"amp_enabled":false,"_links":{"self":[{"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/posts\/97139","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/comments?post=97139"}],"version-history":[{"count":13,"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/posts\/97139\/revisions"}],"predecessor-version":[{"id":149534,"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/posts\/97139\/revisions\/149534"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/media\/97140"}],"wp:attachment":[{"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/media?parent=97139"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/categories?post=97139"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/tags?post=97139"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}