{"id":122718,"date":"2022-06-08T16:36:30","date_gmt":"2022-06-08T07:36:30","guid":{"rendered":"https:\/\/support.questetra.com\/?p=122718"},"modified":"2026-04-27T15:23:27","modified_gmt":"2026-04-27T06:23:27","slug":"google-sheets-row-range-delete-2022","status":"publish","type":"post","link":"https:\/\/support.questetra.com\/en\/addons\/google-sheets-row-range-delete-2022\/","title":{"rendered":"Google Sheets #Row_Range: Delete"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><div class=\"su-box su-box-style-default\" id=\"\" style=\"border-color:#003e04;border-radius:0px;max-width:none\"><div class=\"su-box-title\" style=\"background-color:#267137;color:#ffffff;border-top-left-radius:0px;border-top-right-radius:0px\">Google Sheets: Row Range, Delete<\/div><div class=\"su-box-content su-u-clearfix su-u-trim\" style=\"border-bottom-left-radius:0px;border-bottom-right-radius:0px\"> Deletes rows in the specified range. Existing cells will be shifted upward. Both the start and end rows are specified by zero-based index. For example, &#8220;startIndex: 0, endIndex: 1&#8221; means only the first line. (End index is exclusive)<\/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>U: Select HTTP_Authz Setting<span style=\"color:#990000;\"> *<\/span><\/li>\n<li><span class=\"fa-li\"><i class=\"far fa-pen-square fa-lg\"><\/i><\/span> A1: Set SPREADSHEET-ID in Drive<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> A2: Set SHEET-ID in SPREADSHEET<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> A3: Or, Set SHEET-NAME in SPREADSHEET<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> B1: Set Range (StartRowIndex)<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> B2: Set Range (EndRowIndex)<span style=\"color:#990000;\"> *<\/span><span style=\"color:#000099;\"><sup style=\"font-style:italic;\">#{EL}<\/sup><\/span><\/li>\n<li> C1: If to Backup TSV, Select STRING that stores TSV (update)<\/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\n\/\/\/\/\/\/\/\/ START &quot;main()&quot; \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\n\nmain();\nfunction main(){ \n\n\/\/\/\/ == Config Retrieving \/ \u5de5\u7a0b\u30b3\u30f3\u30d5\u30a3\u30b0\u306e\u53c2\u7167 ==\nconst strAuthzSetting     = configs.get      ( &quot;AuthzConfU&quot; );   \/\/\/ REQUIRED\n  engine.log( &quot; AutomatedTask Config: Authz Setting: &quot; + strAuthzSetting );\nconst strFileId           = configs.get      ( &quot;StrConfA1&quot; );    \/\/\/ REQUIRED\n  if( strFileId         === &quot;&quot; ){\n    throw new Error( &quot;\\n AutomatedTask ConfigError:&quot; +\n                     &quot; Config {A1: FileID} is empty \\n&quot; );\n  }\nlet   strSheetId          = configs.get      ( &quot;StrConfA2&quot; );    \/\/ NotRequired\nlet   strSheetName        = configs.get      ( &quot;StrConfA3&quot; );    \/\/ NotRequired\n  if( strSheetId === &quot;&quot; ){\n    engine.log( &quot; AutomatedTask ConfigWarning:&quot; +\n                &quot; Config {A2: SheetId} (recommended) is empty&quot; );\n    if( strSheetName === &quot;&quot; ){\n      throw new Error( &quot;\\n AutomatedTask ConfigError:&quot; +\n                       &quot; Config {A2: Id} or {A3: Name} must be specified \\n&quot; );\n    }\n  }\nconst strRowRangeStart    = configs.get      ( &quot;StrConfB1&quot; );    \/\/\/ REQUIRED\n  let numRowRangeStart    = parseInt( strRowRangeStart, 10 );\nconst strRowRangeEnd      = configs.get      ( &quot;StrConfB2&quot; );    \/\/\/ REQUIRED\n  let numRowRangeEnd      = parseInt( strRowRangeEnd, 10 );\n  if( numRowRangeStart &gt;= numRowRangeEnd ){\n    throw new Error( &quot;\\n AutomatedTask ConfigError:&quot; +\n                     &quot; {B1: StartRowIndex} must be smaller than {B2: EndRowIndex} \\n&quot; );\n  }\nconst strPocketTsv        = configs.getObject( &quot;SelectConfC1&quot; ); \/\/ NotRequired\n\n\n\/\/\/\/ == Data Retrieving \/ \u30ef\u30fc\u30af\u30d5\u30ed\u30fc\u30c7\u30fc\u30bf\u306e\u53c2\u7167 ==\n\/\/ (Nothing. Retrieved via Expression Language in Config Retrieving)\n\n\n\/\/\/\/ == Calculating \/ \u6f14\u7b97 ==\n\n\/\/\/ get Sheet Properties\n\n\/\/ request1, prepare\n\/\/ Sheets for Developers &gt; API v4\n\/\/ https:\/\/developers.google.com\/sheets\/api\/reference\/rest\/v4\/spreadsheets\/get\nlet request1Uri = &quot;https:\/\/sheets.googleapis.com\/v4\/spreadsheets\/&quot; + strFileId;\nlet request1    = httpClient.begin(); \/\/ HttpRequestWrapper\n    request1    = request1.authSetting( strAuthzSetting ); \/\/ with &quot;Authorization: Bearer XX&quot;\n    \/\/ https:\/\/questetra.zendesk.com\/hc\/en-us\/articles\/360024574471-R2300#HttpRequestWrapper\n\n\/\/ request1, try\nconst response1     = request1.get( request1Uri );       \/\/ HttpResponseWrapper\nengine.log( &quot; AutomatedTask ApiRequest1 Start: &quot; + request1Uri );\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\nconst response1Obj = JSON.parse( response1Body );\n\/* response sample\nengine.log( response1Body ); \/\/ debug\n{\n  &quot;spreadsheetId&quot;: &quot;17rwXXXXxS34yyyyYr-KzzzzX0_iWWWWOfHdxxxxRCLM&quot;,\n  &quot;properties&quot;: { \u2026 },\n  &quot;sheets&quot;: [\n    {\n      &quot;properties&quot;: {\n        &quot;sheetId&quot;: 0,\n        &quot;title&quot;: &quot;sheet1&quot;,\n        &quot;index&quot;: 0,\n        &quot;sheetType&quot;: &quot;GRID&quot;,\n        &quot;gridProperties&quot;: {\n          &quot;rowCount&quot;: 100,\n          &quot;columnCount&quot;: 20,\n          &quot;frozenRowCount&quot;: 1\n        }\n      }\n    }\n  ],\n  &quot;spreadsheetUrl&quot;: &quot;https:\/\/docs.google.com\/spreadsheets\/d\/17rwXXXXxS34yyyyYr-KzzzzX0_iWWWWOfHdxxxxRCLM\/edit&quot;\n}\n*\/\n\nif( strSheetId === &quot;&quot; ){\n  \/\/\/ get SheetId from SheetName\n  for( let i = 0; i &lt; response1Obj.sheets.length; i++ ){\n    engine.log( &quot; - &quot; + response1Obj.sheets[i].properties.title );\n    if( response1Obj.sheets[i].properties.title === strSheetName ){\n      strSheetId = response1Obj.sheets[i].properties.sheetId;\n      engine.log( &quot; AutomatedTask SheetName &#39;&quot; + strSheetName +\n                    &quot;&#39;: SheetId &quot; + strSheetId );\n      break;\n    }\n  }\n  if( strSheetId === &quot;&quot; ){\n    throw new Error( &quot;\\n AutomatedTask ConfigError:&quot; +\n                     &quot; Config {A3 Sheet Name} does not exist \\n&quot; );\n  }\n}else{\n  const numSheetId = parseInt( strSheetId, 10 );\n  \/\/\/ get SheetName from SheetId\n  for( let i = 0; i &lt; response1Obj.sheets.length; i++ ){\n    engine.log( &quot; - &quot; + response1Obj.sheets[i].properties.sheetId );\n    if( response1Obj.sheets[i].properties.sheetId === numSheetId ){\n      strSheetName = response1Obj.sheets[i].properties.title;\n      engine.log( &quot; AutomatedTask SheetId &#39;&quot; + strSheetId +\n                    &quot;&#39;: SheetName &quot; + strSheetName );\n      break;\n    }\n  }\n}\n\n\n\/\/\/ backup RowRange\n\nlet strTsv = &quot;&quot;;\nif( strPocketTsv    !== null ){\n  const strA1Notation = strSheetName + &quot;!&quot; + (numRowRangeStart+1) + &quot;:&quot; + numRowRangeEnd;\n  engine.log( &quot; AutomatedTask Backup Range: &quot; + strA1Notation );\n\n  \/\/\/ Sheets for Developers &gt; API v4\n  \/\/\/ https:\/\/developers.google.com\/sheets\/api\/reference\/rest\/v4\/spreadsheets.values\/batchGet\n\n  \/\/ request2, prepare\n  let request2Uri = &quot;https:\/\/sheets.googleapis.com\/v4\/spreadsheets\/&quot; + strFileId + &quot;\/values:batchGet&quot;;\n  let request2    = httpClient.begin(); \/\/ HttpRequestWrapper\n      request2    = request2.authSetting( strAuthzSetting ); \/\/ with &quot;Authorization: Bearer XX&quot;\n      \/\/ https:\/\/questetra.zendesk.com\/hc\/en-us\/articles\/360024574471-R2300#HttpRequestWrapper\n      request2    = request2.queryParam( &quot;majorDimension&quot;, &quot;ROWS&quot; );\n      request2    = request2.queryParam( &quot;valueRenderOption&quot;, &quot;FORMATTED_VALUE&quot; ); \n                   \/\/ Even if formatted as currency, return &quot;$1.23&quot; not &quot;1.23&quot;.\n      request2    = request2.queryParam( &quot;dateTimeRenderOption&quot;, &quot;FORMATTED_STRING&quot; ); \n                   \/\/ Date as strings (the spreadsheet locale) not SERIAL_NUMBER\n      request2    = request2.queryParam( &quot;ranges&quot;, strA1Notation );\n\n  \/\/ request2, try\n  const response2     = request2.get( request2Uri ); \/\/ HttpResponseWrapper\n  engine.log( &quot; AutomatedTask ApiRequest2 Start: &quot; + request2Uri );\n  const response2Code = response2.getStatusCode() + &quot;&quot;;\n  const response2Body = response2.getResponseAsString() + &quot;&quot;;\n  engine.log( &quot; AutomatedTask ApiResponse Status: &quot; + response2Code );\n  if( 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  \/\/ response2, parse\n  const response2Obj = JSON.parse( response2Body );\n  \/* response sample\n  engine.log( response2Body ); \/\/ debug\n  {\n    &quot;spreadsheetId&quot;: &quot;17rwXXXXxS34yyyyYr-KzzzzX0_iWWWWOfHdxxxxRCLM&quot;,\n    &quot;valueRanges&quot;: [\n      {\n        &quot;range&quot;: &quot;Sheet1!A1:Z3&quot;,\n        &quot;majorDimension&quot;: &quot;ROWS&quot;,\n        &quot;values&quot;: [\n          [\n            &quot;Date&quot;,\n            &quot;Account (\u79d1\u76ee)&quot;,\n            &quot;Description (\u6458\u8981)&quot;,\n            &quot;Debit (\u501f\u65b9)&quot;,\n            &quot;Credit (\u8cb8\u65b9)&quot;,\n            &quot;Balance (\u6b8b\u9ad8)&quot;\n          ],\n          [\n            &quot;2019-10-01&quot;,\n            &quot;\\u003cBUDGET\\u003e&quot;,\n            &quot;&quot;,\n            &quot;&quot;,\n            &quot;4,000,000.00&quot;,\n            &quot;4,000,000.00&quot;\n          ],\n          [\n            &quot;2019-10-17&quot;,\n            &quot;Design Fee&quot;,\n            &quot;Web Display: BPM &quot;,\n            &quot;2,000,000.00&quot;,\n            &quot;&quot;,\n            &quot;2,000,000.00&quot;\n          ]\n        ]\n      }\n    ]\n  }\n  *\/\n\n  engine.log( &quot; AutomatedTask ApiResponse: range: &quot; + response2Obj.valueRanges[0].range );\n  let numTsvWidth = 0;\n  for( let j = 0; j &lt; response2Obj.valueRanges[0].values.length; j++ ){\n    if( numTsvWidth &lt; response2Obj.valueRanges[0].values[j].length ){\n      numTsvWidth   = response2Obj.valueRanges[0].values[j].length;\n    }\n  }\n  engine.log( &quot; AutomatedTask ApiResponse: tmpTsv width: &quot; + numTsvWidth );\n  for( let j = 0; j &lt; response2Obj.valueRanges[0].values.length; j++ ){\n    for( let k = 0; k &lt; numTsvWidth; k++ ){\n      if( k &lt; response2Obj.valueRanges[0].values[j].length ){\n        strTsv += response2Obj.valueRanges[0].values[j][k];\n      }\n      if( k != response2Obj.valueRanges[0].values[j].length - 1 ){\n        strTsv += &quot;\\t&quot;;\n      }\n    }\n    if( j != response2Obj.valueRanges[0].values.length - 1 ){\n      strTsv += &quot;\\n&quot;;\n    }\n  }\n}\n\n\n\/\/\/ delete RowRange\n\/\/ Google Sheets for Developers &gt; Sheets API\n\/\/ https:\/\/developers.google.com\/sheets\/api\/reference\/rest\/v4\/spreadsheets\/request#DeleteRangeRequest\n\n\/\/ request3, prepare\nlet request3Obj = {};\n    request3Obj.requests = [];\n    request3Obj.requests[0] = {};\n    request3Obj.requests[0].deleteRange = {};\n    request3Obj.requests[0].deleteRange.shiftDimension = &quot;ROWS&quot;;\n    request3Obj.requests[0].deleteRange.range = {};\n    request3Obj.requests[0].deleteRange.range.sheetId = (strSheetId - 0);\n    request3Obj.requests[0].deleteRange.range.startRowIndex = numRowRangeStart;\n    request3Obj.requests[0].deleteRange.range.endRowIndex   = numRowRangeEnd; \nlet request3Uri = &quot;https:\/\/sheets.googleapis.com\/v4\/spreadsheets\/&quot; + strFileId + &quot;:batchUpdate&quot;;\nlet request3    = httpClient.begin(); \/\/ HttpRequestWrapper\n    request3    = request3.authSetting( strAuthzSetting ); \/\/ with &quot;Authorization: Bearer XX&quot;\n    \/\/ https:\/\/questetra.zendesk.com\/hc\/en-us\/articles\/360024574471-R2300#HttpRequestWrapper\n    request3 = request3.body( JSON.stringify( request3Obj ), &quot;application\/json&quot; );\nengine.log( &quot; AutomatedTask ApiRequest3 Prepared&quot; );\n\n\/\/ request3, try\nconst response3     = request3.post( request3Uri );       \/\/ HttpResponseWrapper\nengine.log( &quot; AutomatedTask ApiRequest3 Start: &quot; + request3Uri );\nconst response3Code = response3.getStatusCode() + &quot;&quot;; \/\/ (primitive string)\nconst response3Body = response3.getResponseAsString() + &quot;&quot;;\nengine.log( &quot; AutomatedTask ApiResponse3 Status: &quot; + response3Code );\nif( response3Code !== &quot;200&quot;){\n  throw new Error( &quot;\\n AutomatedTask UnexpectedResponseError: &quot; +\n                    response3Code + &quot;\\n&quot; + response3Body + &quot;\\n&quot; );\n}\n\/* response sample\nengine.log( response3Body ); \/\/ debug\n{\n  &quot;spreadsheetId&quot;: &quot;1Wfruxxxxxl6FmwyyyyyWzYLxzzzzzLQmiPxxxxxR_4I&quot;,\n  &quot;replies&quot;: [\n    {}\n  ]\n}\n*\/\n\n\n\/\/\/\/ == Data Updating \/ \u30ef\u30fc\u30af\u30d5\u30ed\u30fc\u30c7\u30fc\u30bf\u3078\u306e\u4ee3\u5165 ==\nif( strPocketTsv    !== null ){\n  engine.setData( strPocketTsv,    strTsv );\n}\n\n\n} \/\/\/\/\/\/\/\/ END &quot;main()&quot; \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\n\n\n\/*\nNotes:\n- When the process reaches this automated step, rows in Google Sheets will be deleted.\n    - Automates deletions by using the wider API Scope (strong privilege).\n- The range is specified by the zero-based indexes of start index and end index.\n    - If to delete all cell, specify &quot;0&quot; for the start index and &quot;1000&quot; for the end index.\n    - The index is evaluated by JavaScript `parseInt ()`.\n        - When specifying with numeric data, be careful not to mix digit delimiters.\n        - https:\/\/developer.mozilla.org\/docs\/Web\/JavaScript\/Reference\/Global_Objects\/parseInt\n    - Index values outside the range will be corrected.\n- Spreadsheets are specified by ID, such as by referencing a URL. (SPREADSHEETID)\n    - https:\/\/docs.google.com\/spreadsheets\/d\/SPREADSHEETID\/edit#gid=SHEETID\n- It is also possible to import (back up) deleted data as Workflow data.\n    - The TSV string has a uniform number of columns (rectangular data) in each row.\n    - There is no line feed code at the end of the TSV string.\n\nAPPENDIX-en\n- The backup lines and the deleted lines may be out of alignment if edited at the same time.\n- To restore the spreadsheet to a previous version, go to the &quot;Change History&quot; of the file.\n    - &quot;Find what&#39;s changed in a file&quot; (Google file)\n    - &quot;The revisions for your file may occasionally be merged to save storage space.&quot;\n    - https:\/\/support.google.com\/docs\/answer\/190843\n- Setting example of &quot;HTTP Authentication&quot; (OAuth2)\n    - Authorization Endpoint URL:\n        - https:\/\/accounts.google.com\/o\/oauth2\/v2\/auth?access_type=offline&prompt=consent\n    - Token Endpoint URL:\n        - https:\/\/oauth2.googleapis.com\/token\n    - Scope:\n        - https:\/\/www.googleapis.com\/auth\/spreadsheets.readonly\n    - Client ID, Consumer Secret:\n        - ( from https:\/\/console.developers.google.com\/ )\n        - Redirect URLs: https:\/\/s.questetra.net\/oauth2callback\n    - (OFFICIAL) https:\/\/developers.google.com\/identity\/protocols\/oauth2\/web-server#httprest\n\nNotes-ja:\n- \u6848\u4ef6\u304c\u81ea\u52d5\u5de5\u7a0b\u306b\u5230\u9054\u3057\u305f\u969b\u3001Google \u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u306e\u4e00\u90e8\u306e\u884c\u304c\u81ea\u52d5\u524a\u9664\u3055\u308c\u307e\u3059\u3002\n    - \u5e83\u7bc4\u306a API Scope\uff08\u5f37\u3044\u6a29\u9650\uff09\u3092\u4f7f\u3063\u305f\u524a\u9664\u4f5c\u696d\u306e\u81ea\u52d5\u5316\u3002\n- \u524a\u9664\u7bc4\u56f2\u306f\u958b\u59cb\u884c\u3068\u7d42\u4e86\u884c\u306e\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5024\u3067\u6307\u5b9a\u3057\u307e\u3059\u3002\uff08\u30bc\u30ed\u59cb\u307e\u308a\uff09\n    - \u5168\u30c7\u30fc\u30bf\u3092\u524a\u9664\u3057\u305f\u3044\u5834\u5408\u3001\u958b\u59cbIndex\u306b\u300c0\u300d\u3001\u7d42\u4e86Index\u306b\u300c1000\u300d\u3092\u6307\u5b9a\u3057\u307e\u3059\u3002\n    - \u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306f JavaScript `parseInt()` \u306b\u3066\u8a55\u4fa1\u3055\u308c\u307e\u3059\u3002\n        - \u6570\u5024\u578b\u30c7\u30fc\u30bf\u3067\u6307\u5b9a\u3059\u308b\u5834\u5408\u3001\u6841\u533a\u5207\u308a\u6587\u5b57\u306e\u6df7\u5165\u30b1\u30fc\u30b9\u306b\u6ce8\u610f\u304c\u5fc5\u8981\u3067\u3059\n        - https:\/\/developer.mozilla.org\/docs\/Web\/JavaScript\/Reference\/Global_Objects\/parseInt\n    - \u7bc4\u56f2\u5916\u306e\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5024\u306f\u88dc\u6b63\u3055\u308c\u307e\u3059\u3002\n- \u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u306f\u3001URL\u3092\u53c2\u7167\u3059\u308b\u306a\u3069\u3057\u3066 ID \u3067\u6307\u5b9a\u3057\u307e\u3059\u3002(SPREADSHEETID)\n    - https:\/\/docs.google.com\/spreadsheets\/d\/SPREADSHEETID\/edit#gid=SHEETID\n- \u524a\u9664\u3055\u308c\u305f\u30c7\u30fc\u30bf\u3092Workflow\u30c7\u30fc\u30bf\u3068\u3057\u3066\u53d6\u308a\u8fbc\u3080\uff08\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u3059\u308b\uff09\u3053\u3068\u3082\u53ef\u80fd\u3067\u3059\u3002\n    - TSV\u6587\u5b57\u5217\u306f\u3001\u3044\u305a\u308c\u306e\u884c\u3082\u5747\u4e00\u306e\u5217\u6570\uff08\u77e9\u5f62\u30c7\u30fc\u30bf\uff09\u3068\u306a\u308a\u307e\u3059\u3002\n    - TSV\u6587\u5b57\u5217\u306e\u672b\u5c3e\u306b\u6539\u884c\u30b3\u30fc\u30c9\u306f\u3042\u308a\u307e\u305b\u3093\u3002\n\nAPPENDIX-ja\n- \u540c\u6642\u7de8\u96c6\u306b\u3088\u308a\u3001\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u884c\u3068\u524a\u9664\u884c\u304c\u30ba\u30ec\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002\n- \u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u3092\u904e\u53bb\u30d0\u30fc\u30b8\u30e7\u30f3\u306b\u5fa9\u5143\u3057\u305f\u3044\u5834\u5408\u3001\u30d5\u30a1\u30a4\u30eb\u306e &quot;\u5909\u66f4\u5c65\u6b74&quot; \u306b\u30a2\u30af\u30bb\u30b9\u3057\u307e\u3059\u3002\n    - (Google \u5f62\u5f0f\u306e) &quot;\u30d5\u30a1\u30a4\u30eb\u306e\u5909\u66f4\u5185\u5bb9\u3092\u78ba\u8a8d\u3059\u308b&quot;\n    - &quot;\u5bb9\u91cf\u7bc0\u7d04\u306e\u305f\u3081\u3001\u30d5\u30a1\u30a4\u30eb\u306e\u7248\u304c\u7d71\u5408\u3055\u308c\u308b\u3053\u3068\u304c\u3042\u308a\u307e\u3059\u3002&quot;\n    - https:\/\/support.google.com\/docs\/answer\/190843\n- &quot;HTTP\u8a8d\u8a3c&quot;\uff08OAuth2\uff09\u306e\u8a2d\u5b9a\u4f8b\n    - Authorization Endpoint URL:\n        - https:\/\/accounts.google.com\/o\/oauth2\/v2\/auth?access_type=offline&prompt=consent\n    - Token Endpoint URL:\n        - https:\/\/oauth2.googleapis.com\/token\n    - Scope:\n        - https:\/\/www.googleapis.com\/auth\/spreadsheets\n    - Client ID, Consumer Secret:\n        - ( from https:\/\/console.developers.google.com\/ )\n        - Redirect URLs: https:\/\/s.questetra.net\/oauth2callback\n    - (OFFICIAL) https:\/\/developers.google.com\/identity\/protocols\/oauth2\/web-server#httprest\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\/1epascZwIS4UTcqI2mqZpHqP0qeLOaCZA\/view?usp=drivesdk\" target=\"_blank\">google-sheets-row-range-delete-2022.xml<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/drive.google.com\/file\/d\/1DkaB9XcUS_BG0pfC79XzoY0xRWG2jHAC\/view?usp=sharing\" data-type=\"link\" data-id=\"https:\/\/drive.google.com\/file\/d\/1DkaB9XcUS_BG0pfC79XzoY0xRWG2jHAC\/view?usp=sharing\">google-sheets-row-range-delete-2023.xml<\/a>\n<ul class=\"wp-block-list\">\n<li>2023-08-21 (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><a href=\"https:\/\/drive.google.com\/file\/d\/1-kRXdg4HtQSQV5PkgvPfMTMg7ZnVx3Cr\/view?usp=sharing\">google-sheets-row-range-delete-2026.xml<\/a>\n<ul class=\"wp-block-list\">\n<li>2026-04-26 (C) Questetra, Inc. (MIT License)<\/li>\n\n\n\n<li>Due to the deprecation of the methods <code>getOAuth2Token(String)<\/code> and <code>authSetting(String)<\/code> at v18.<\/li>\n\n\n\n<li><a href=\"https:\/\/support.questetra.com\/en\/versions\/version-180\/\">https:\/\/support.questetra.com\/ja\/versions\/version-180\/<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p class=\"has-text-align-right has-small-font-size wp-block-paragraph\">2021-06-02 (C) Questetra, Inc. (MIT License)<br><a href=\"https:\/\/support.questetra.com\/en\/addons\/google-sheets-row-range-delete-2022\/\">https:\/\/support.questetra.com\/addons\/google-sheets-row-range-delete-2022\/<\/a><br><i class=\"fal fa-info-circle\"><\/i> The Addon-import feature is available with <span style=\"color:#4a86e8\" class=\"has-inline-color\"><strong>Professional<\/strong><\/span> edition.<br>Freely modifiable JavaScript (ECMAScript) code. No warranty of any kind.<\/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>When the process reaches this automated step, rows in Google Sheets will be deleted.\n<ul class=\"wp-block-list\">\n<li>Automates deletions by using the wider API Scope (strong privilege).<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>The range is specified by the zero-based indexes of start index and end index.\n<ul class=\"wp-block-list\">\n<li>If to delete all cell, specify &#8220;0&#8221; for the start index and &#8220;1000&#8221; for the end index.<\/li>\n\n\n\n<li>The index is evaluated by JavaScript <code>parseInt ()<\/code>.\n<ul class=\"wp-block-list\">\n<li>When specifying with numeric data, be careful not to mix digit delimiters.<\/li>\n\n\n\n<li><a href=\"https:\/\/developer.mozilla.org\/docs\/Web\/JavaScript\/Reference\/Global_Objects\/parseInt\" rel=\"nofollow\">https:\/\/developer.mozilla.org\/docs\/Web\/JavaScript\/Reference\/Global_Objects\/parseInt<\/a><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Index values outside the range will be corrected.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Spreadsheets are specified by ID, such as by referencing a URL. (SPREADSHEETID)\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>It is also possible to import (back up) deleted data as Workflow data.\n<ul class=\"wp-block-list\">\n<li>The TSV string has a uniform number of columns (rectangular data) in each row.<\/li>\n\n\n\n<li>There is no line feed code at the end of the TSV string.<\/li>\n<\/ul>\n<\/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 is-style-default\"><img loading=\"lazy\" decoding=\"async\" width=\"1200\" height=\"675\" data-attachment-id=\"122710\" data-permalink=\"https:\/\/support.questetra.com\/en\/addons\/excel-find-row\/attachment\/google-sheets-row-range-delete-2022-capture-en\/\" data-orig-file=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/06\/google-sheets-row-range-delete-2022-capture-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-row-range-delete-2022-capture-en\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/06\/google-sheets-row-range-delete-2022-capture-en.png?fit=1024%2C576&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/06\/google-sheets-row-range-delete-2022-capture-en.png?fit=1200%2C675&amp;ssl=1\" alt=\"Deletes rows in the specified range. Existing cells will be shifted upward. Both the start and end rows are specified by zero-based index. For example, &quot;startIndex: 0, endIndex: 1&quot; means only the first line. (End index is exclusive)\" class=\"wp-image-122710\" srcset=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/06\/google-sheets-row-range-delete-2022-capture-en.png?w=1200&amp;ssl=1 1200w, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/06\/google-sheets-row-range-delete-2022-capture-en.png?resize=560%2C315&amp;ssl=1 560w, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/06\/google-sheets-row-range-delete-2022-capture-en.png?resize=1024%2C576&amp;ssl=1 1024w, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/06\/google-sheets-row-range-delete-2022-capture-en.png?resize=768%2C432&amp;ssl=1 768w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large q-box\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"796\" height=\"630\" data-attachment-id=\"122714\" data-permalink=\"https:\/\/support.questetra.com\/en\/addons\/excel-find-row\/attachment\/google-sheets-row-range-delete-2022-config-en\/\" data-orig-file=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/06\/google-sheets-row-range-delete-2022-config-en.png?fit=1198%2C948&amp;ssl=1\" data-orig-size=\"1198,948\" 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-row-range-delete-2022-config-en\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/06\/google-sheets-row-range-delete-2022-config-en.png?fit=796%2C630&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/06\/google-sheets-row-range-delete-2022-config-en-796x630.png?resize=796%2C630&#038;ssl=1\" alt=\"\" class=\"wp-image-122714\" srcset=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/06\/google-sheets-row-range-delete-2022-config-en.png?resize=796%2C630&amp;ssl=1 796w, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/06\/google-sheets-row-range-delete-2022-config-en.png?resize=398%2C315&amp;ssl=1 398w, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/06\/google-sheets-row-range-delete-2022-config-en.png?resize=768%2C608&amp;ssl=1 768w, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/06\/google-sheets-row-range-delete-2022-config-en.png?w=1198&amp;ssl=1 1198w\" sizes=\"auto, (max-width: 796px) 100vw, 796px\" \/><\/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>The backup lines and the deleted lines may be out of alignment if edited at the same time.<\/li>\n\n\n\n<li>To restore the spreadsheet to a previous version, go to the &#8220;Change History&#8221; of the file.\n<ul class=\"wp-block-list\">\n<li>&#8220;Find what&#8217;s changed in a file&#8221; (Google file)<\/li>\n\n\n\n<li>&#8220;The revisions for your file may occasionally be merged to save storage space.&#8221;<\/li>\n\n\n\n<li><a href=\"https:\/\/support.google.com\/docs\/answer\/190843\" rel=\"nofollow\">https:\/\/support.google.com\/docs\/answer\/190843<\/a><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Setting example of &#8220;HTTP Authentication&#8221; (OAuth2)\n<ul class=\"wp-block-list\">\n<li>Authorization Endpoint URL:\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/accounts.google.com\/o\/oauth2\/v2\/auth?access_type=offline&#038;prompt=consent\" rel=\"nofollow\">https:\/\/accounts.google.com\/o\/oauth2\/v2\/auth?access_type=offline&#038;prompt=consent<\/a><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Token Endpoint URL:\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/oauth2.googleapis.com\/token\" rel=\"nofollow\">https:\/\/oauth2.googleapis.com\/token<\/a><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Scope:\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.googleapis.com\/auth\/spreadsheets.readonly\" rel=\"nofollow\">https:\/\/www.googleapis.com\/auth\/spreadsheets.readonly<\/a><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Client ID, Consumer Secret:\n<ul class=\"wp-block-list\">\n<li>( from <a href=\"https:\/\/console.developers.google.com\/\" rel=\"nofollow\">https:\/\/console.developers.google.com\/<\/a> )<\/li>\n\n\n\n<li>Redirect URLs: <a href=\"https:\/\/s.questetra.net\/oauth2callback\" rel=\"nofollow\">https:\/\/s.questetra.net\/oauth2callback<\/a><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>(OFFICIAL) <a href=\"https:\/\/developers.google.com\/identity\/protocols\/oauth2\/web-server#httprest\" rel=\"nofollow\">https:\/\/developers.google.com\/identity\/protocols\/oauth2\/web-server#httprest<\/a><\/li>\n<\/ul>\n<\/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<figure class=\"wp-block-embed is-type-wp-embed is-provider-questetra-support wp-block-embed-questetra-support\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"i795kQODnA\"><a href=\"https:\/\/support.questetra.com\/en\/addons\/google-sheets-sheet-append-tsv\/\">Google Sheets: Sheet, Append TSV<\/a><\/blockquote><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; visibility: hidden;\" title=\"&#8220;Google Sheets: Sheet, Append TSV&#8221; &#8212; Questetra Support\" src=\"https:\/\/support.questetra.com\/addons\/google-sheets-sheet-append-tsv\/embed\/#?secret=zLDkeBPhGx#?secret=i795kQODnA\" data-secret=\"i795kQODnA\" width=\"500\" height=\"282\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Deletes rows in the specified range. Existing cells will be shifted upward. Both the start and end rows are specified by zero-based index. For example, &#8220;startIndex: 0, endIndex: 1&#8221; means only the first line. (End index is exclusive)<\/p>\n","protected":false},"author":2,"featured_media":122710,"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":"Deletes rows in the specified range. Existing cells will be shifted upward. Both the start and end rows are specified by zero-based index. For example, \"startIndex: 0, endIndex: 1\" means only the first line. (End index is exclusive)","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-122718","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\/2022\/06\/google-sheets-row-range-delete-2022-capture-en.png?fit=1200%2C675&ssl=1","uagb_featured_image_src":{"full":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/06\/google-sheets-row-range-delete-2022-capture-en.png?fit=1200%2C675&ssl=1",1200,675,false],"thumbnail":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/06\/google-sheets-row-range-delete-2022-capture-en.png?resize=440%2C440&ssl=1",440,440,true],"medium":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/06\/google-sheets-row-range-delete-2022-capture-en.png?fit=560%2C315&ssl=1",560,315,true],"medium_large":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/06\/google-sheets-row-range-delete-2022-capture-en.png?fit=768%2C432&ssl=1",768,432,true],"large":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/06\/google-sheets-row-range-delete-2022-capture-en.png?fit=1024%2C576&ssl=1",1024,576,true],"1536x1536":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/06\/google-sheets-row-range-delete-2022-capture-en.png?fit=1200%2C675&ssl=1",1200,675,true],"2048x2048":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/06\/google-sheets-row-range-delete-2022-capture-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\/2022\/06\/google-sheets-row-range-delete-2022-capture-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\/2022\/06\/google-sheets-row-range-delete-2022-capture-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\/2022\/06\/google-sheets-row-range-delete-2022-capture-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\/2022\/06\/google-sheets-row-range-delete-2022-capture-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\/2022\/06\/google-sheets-row-range-delete-2022-capture-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\/2022\/06\/google-sheets-row-range-delete-2022-capture-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\/2022\/06\/google-sheets-row-range-delete-2022-capture-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\/2022\/06\/google-sheets-row-range-delete-2022-capture-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\/2022\/06\/google-sheets-row-range-delete-2022-capture-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\/2022\/06\/google-sheets-row-range-delete-2022-capture-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\/2022\/06\/google-sheets-row-range-delete-2022-capture-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\/2022\/06\/google-sheets-row-range-delete-2022-capture-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\/2022\/06\/google-sheets-row-range-delete-2022-capture-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\/2022\/06\/google-sheets-row-range-delete-2022-capture-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\/2022\/06\/google-sheets-row-range-delete-2022-capture-en.png?resize=200%2C200&ssl=1",200,200,true],"newspack-article-block-uncropped":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/06\/google-sheets-row-range-delete-2022-capture-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":0,"uagb_excerpt":"Deletes rows in the specified range. Existing cells will be shifted upward. Both the start and end rows are specified by zero-based index. For example, \"startIndex: 0, endIndex: 1\" means only the first line. (End index is exclusive)","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p9DiIh-vVk","jetpack_likes_enabled":true,"jetpack-related-posts":[{"id":84381,"url":"https:\/\/support.questetra.com\/en\/addons\/google-sheets-master-table-simple-xlookup\/","url_meta":{"origin":122718,"position":0},"title":"Google Sheets: Master Table, Simple Xlookup","author":"IMAMURA, Genichi","date":"2020-02-06","format":false,"excerpt":"Returns a value by referencing master data in Google Spreadsheets. Searches for the Lookup Value in array C, and if an exact match, returns the value in array D at the same index. C and D are defined in A1Notation. The length must be the same.","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: Master Table, Simple Xlookup","src":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/02\/Google-Sheets-Master-Table-Simple-Xlookup-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\/02\/Google-Sheets-Master-Table-Simple-Xlookup-en.png?fit=1200%2C675&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/02\/Google-Sheets-Master-Table-Simple-Xlookup-en.png?fit=1200%2C675&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/02\/Google-Sheets-Master-Table-Simple-Xlookup-en.png?fit=1200%2C675&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/02\/Google-Sheets-Master-Table-Simple-Xlookup-en.png?fit=1200%2C675&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":81014,"url":"https:\/\/support.questetra.com\/en\/addons\/google-sheets-values-sum-numbers\/","url_meta":{"origin":122718,"position":1},"title":"Google Sheets: Values, Sum Numbers","author":"IMAMURA, Genichi","date":"2019-10-18","format":false,"excerpt":"Sums the numeric values in the specified range. Values that cannot be recognized as numeric values are regarded as zero. Two ranges of simultaneous calculations are also supported. e.g. The budgeting progress in the general ledger is summarized.","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-Sum-Numbers-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-Sum-Numbers-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-Sum-Numbers-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-Sum-Numbers-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-Sum-Numbers-en.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":122718,"position":2},"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":122718,"position":3},"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":97139,"url":"https:\/\/support.questetra.com\/en\/addons\/google-sheets-sheet-row-update-with-singleline-tsv\/","url_meta":{"origin":122718,"position":4},"title":"Google Sheets: Sheet Row, Update with Singleline TSV","author":"IMAMURA, Genichi","date":"2020-10-28","format":false,"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,\u2026","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 Row, Update with Singleline TSV","src":"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&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-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-Row-Update-with-Singleline-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-Row-Update-with-Singleline-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-Row-Update-with-Singleline-TSV-en.png?fit=1200%2C675&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":78278,"url":"https:\/\/support.questetra.com\/en\/addons\/tsv-string-add-suffix-to-column\/","url_meta":{"origin":122718,"position":5},"title":"TSV String; Add Suffix to Column","author":"IMAMURA, Genichi","date":"2019-08-05","format":false,"excerpt":"Generates a new TSV with concatenating the suffix Str to all cells in the column. The concatenated strings are added at the end of the line. Available for name honorifics or currency units etc. Removes whitespace from both ends of a string.","rel":"","context":"In &quot;Add-ons&quot;","block_context":{"text":"Add-ons","link":"https:\/\/support.questetra.com\/en\/category\/addons\/"},"img":{"alt_text":"Addon: TSV String; Add Suffix to Column","src":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/08\/Tsv-String-Add-Suffix-to-Column-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\/08\/Tsv-String-Add-Suffix-to-Column-en.png?fit=1200%2C675&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/08\/Tsv-String-Add-Suffix-to-Column-en.png?fit=1200%2C675&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/08\/Tsv-String-Add-Suffix-to-Column-en.png?fit=1200%2C675&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/08\/Tsv-String-Add-Suffix-to-Column-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\/122718","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=122718"}],"version-history":[{"count":7,"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/posts\/122718\/revisions"}],"predecessor-version":[{"id":183400,"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/posts\/122718\/revisions\/183400"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/media\/122710"}],"wp:attachment":[{"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/media?parent=122718"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/categories?post=122718"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/tags?post=122718"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}