{"id":174802,"date":"2025-07-10T15:51:11","date_gmt":"2025-07-10T06:51:11","guid":{"rendered":"https:\/\/support.questetra.com\/?p=174802"},"modified":"2025-07-16T13:56:43","modified_gmt":"2025-07-16T04:56:43","slug":"tsv-string-extract-range-columns-2025","status":"publish","type":"post","link":"https:\/\/support.questetra.com\/en\/addons\/tsv-string-extract-range-columns-2025\/","title":{"rendered":"#TSV-String: Extract Range Columns"},"content":{"rendered":"\n<h4 class=\"wp-block-heading has-background\" style=\"background-color:#084A28;color:#ffffff;margin-top:var(--wp--preset--spacing--30);margin-right:0;margin-bottom:0;margin-left:0;padding-top:var(--wp--preset--spacing--10);padding-right:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--10);padding-left:var(--wp--preset--spacing--20)\"><strong>#TSV-String: Extract Range Columns<\/strong><\/h4>\n\n\n\n<p class=\"has-text-align-right has-background has-small-font-size mt-0 pt-0 wp-block-paragraph\" style=\"background-color:#084A28;color:#ffffff;margin-top:0;margin-right:0;margin-bottom:0;margin-left:0;padding-top:0;padding-right:var(--wp--preset--spacing--30);padding-bottom:0;padding-left:var(--wp--preset--spacing--30)\"><a href=\"https:\/\/support.questetra.com\/en\/addons\/tsv-string-extract-range-columns-2025\/\"><span class=\"material-icons\">translate<\/span> #TSV\u6587\u5b57\u5217: \u7bc4\u56f2\u5217\u306e\u62bd\u51fa<\/a><\/p>\n\n\n\n<p class=\"has-background mt-0 pt-0 wp-block-paragraph\" style=\"border:2px solid #267137;color:#333;margin-top:0;margin-right:0;margin-bottom:var(--wp--preset--spacing--30);margin-left:0;padding-top:var(--wp--preset--spacing--10);padding-right:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--10);padding-left:var(--wp--preset--spacing--20)\">Extracts the specified range of columns from the START column to just before the END column of the TSV (END is not included). The index starts from &#8220;0&#8221;. Negative indexes are counted backwards from the end. If START is omitted, it will start from the beginning, and if END is omitted, it will finish at the end.<\/p>\n\n\n\n<figure class=\"wp-block-image alignright has-custom-border is-style-default\" style=\"margin-top:0px;margin-bottom:0px\"><img decoding=\"async\" src=\"data:image;base64,\niVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAv9JREFUWEfN\nl09IFHEUxz+zrtuqLbphBiIsqCCoXSooPYSZeAwKWqmbBW7kxUt0KD1IHSIQL0WKdVDMQ1Cn8LKH\nEJWCOlgIYoaKhokWqbttuLsz8Zt11tltZt1dtOl3Gt68P9\/fe9\/3fr+fhMVLyih+PxeRaULiJFAB\nHNmx\/wF8QeEDNvy08Spdv3sD6KMQuAX4gOI0Ha8DfcBDfGykskkNoJ9rKDzIIHByrHUkbtPGMzMQ\n5gCe8AiJm2nuOLWawmNu0G6kZAygn+coXNmX4JoTiRHauJrs828A+7nz5GgGmUgEEKv5U2HnynXR\nXNZMvj0\/q0SE5TDj38ZZDi4n2ktc13NiF0CM7XMa4UbOj9BS0YLE3o1ihnDq+xRev5fZjVm9iuiQ\nSq079ADuAXc0zenL01S7q7PavWa0Fd6ifbydoc9DyX7u4+OuEOoBrOnbTQAodhbj\/+onqkRVB57D\nHuqP1TO5OsliYFGViRKJUq2F1phYnYgHqnXXUllYaQZgHR9HdwGICafwUg9TABCr5kVNXNx9qpuO\n4x30fuql632XKm8sbWTw3CAzP2doet0U1x04O4C3wmsGQGz9kpiYsQwYMP\/AAex0RAxAH2+B08kZ\nqCqqIhQJoaCov+ySnTx7niqLKBFVZpNsahmicpRQNBR34bA52Ja3zTMA7\/BxRgOQUH\/hRWSgrKCM\nhcBC3GmhozAm21ogGAmq8hwph3JXOYFIgJVfK3Fdt8NN0aGiVABUHmgABMts\/5QDIOMj578BYFgC\nIw447U6VA1prikEleKEoSqYcSCiBIQk9Lg\/zm\/PIyGp1UnHgd\/Q3S8GleBVLnCUU5BakSULL29Dy\nQRSbBQk8GLswRl1JXUJdxRww40BEjqh9ry2huxnepPVNK6NLo\/oGE99JozgGIOEwaihtoPNEp3oe\nZLMEoOG5YXo+9hiZGx5GCcdxNkHTtDE5joW17kKSprPM1UwvJJorS69kGghLL6UHkYmMr+W7mbDw\nYaKBsPRplsxxSx6nmTdaRhZ\/AIV8rDDib2WVAAAAAElFTkSuQmCC\n\" alt=\"Auto Step icon\" class=\"has-border-color has-ast-global-color-6-border-color\" style=\"border-width:0.5em\"\/><\/figure>\n\n\n\n<div class=\"wp-block-coblocks-accordion\">\n<div class=\"wp-block-coblocks-accordion-item\"><details open><summary class=\"wp-block-coblocks-accordion-item__title\">Configs for this Auto Step<\/summary><div class=\"wp-block-coblocks-accordion-item__content\">\n<dl style=\"margin: 0 0 -0.7em 0\">\n<div style=\"margin:4px 0px 1em; border:1px dotted #aaa; padding:4px 0 0 4px\" title=\"Standard\"><dt style=\"font-weight: 300; font-size: 50%; margin: -1em 0 0 0; color: #aaa;\">StrConfA<\/dt><dd style=\"margin: -0.5em 0 0.1em 1em\">A: Set Input TSV String<span style=\"color:#990000;\"> *<\/span><span style=\"color:#000099;\"><sup style=\"font-style:italic;\">#{EL}<\/sup><\/span><\/dd>\n<dt style=\"font-weight: 300; font-size: 50%; margin: -1em 0 0 0; color: #aaa;\">StrConfB1<\/dt><dd style=\"margin: -0.5em 0 0.1em 1em\">B1: Set Start-Index (Col-A: &#8220;0&#8221;, Col-C: &#8220;2&#8221;, Last-Col: &#8220;-1&#8221;)<span style=\"color:#000099;\"><sup style=\"font-style:italic;\">#{EL}<\/sup><\/span><\/dd>\n<dt style=\"font-weight: 300; font-size: 50%; margin: -1em 0 0 0; color: #aaa;\">StrConfB2<\/dt><dd style=\"margin: -0.5em 0 0.1em 1em\">B2: Set END-Index (Col-A: &#8220;0&#8221;, Col-C: &#8220;2&#8221;, Last-Col: &#8220;-1&#8221;)<span style=\"color:#000099;\"><sup style=\"font-style:italic;\">#{EL}<\/sup><\/span><\/dd>\n<dt style=\"font-weight: 300; font-size: 50%; margin: -1em 0 0 0; color: #aaa;\">SelectConfC<\/dt><dd style=\"margin: -0.5em 0 0.1em 1em\">C: Select STRING DATA to store Output TSV (update)<span style=\"color:#990000;\"> *<\/span><\/dd>\n<\/div>\n<div style=\"margin:4px 0px 1em; border:1px dotted #aaa; padding:4px 0 0 4px\" title=\"Expert\"><dt style=\"font-weight: 300; font-size: 50%; margin: -1em 0 0 0; color: #aaa;\">SelectConfInY<\/dt><dd style=\"margin: -0.5em 0 0.1em 1em\">InY: Select NUMERIC for Number of Input TSV Lines (update)<\/dd>\n<dt style=\"font-weight: 300; font-size: 50%; margin: -1em 0 0 0; color: #aaa;\">SelectConfInX<\/dt><dd style=\"margin: -0.5em 0 0.1em 1em\">InX: Select NUMERIC for Number of Input TSV Cols (update)<\/dd>\n<dt style=\"font-weight: 300; font-size: 50%; margin: -1em 0 0 0; color: #aaa;\">SelectConfOutY<\/dt><dd style=\"margin: -0.5em 0 0.1em 1em\">OutY: Select NUMERIC for Number of Output TSV Lines (update)<\/dd>\n<dt style=\"font-weight: 300; font-size: 50%; margin: -1em 0 0 0; color: #aaa;\">SelectConfOutX<\/dt><dd style=\"margin: -0.5em 0 0.1em 1em\">OutX: Select NUMERIC for Number of Output TSV Cols (update)<\/dd>\n<\/div>\n\n<\/dl>\n<\/div><\/details><\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-coblocks-accordion\">\n<div class=\"wp-block-coblocks-accordion-item\"><details><summary class=\"wp-block-coblocks-accordion-item__title\">Script (click to open)<\/summary><div class=\"wp-block-coblocks-accordion-item__content\">\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-js\" data-lang=\"JavaScript\"><code>\/\/ Script Example of Business Process Automation\n\/\/ for &#39;engine type: 3&#39; (&quot;GraalJS standard mode&quot;)\n\/\/ cf. &#39;engine type: 2&#39; (&quot;GraalJS Nashorn compatible mode&quot;) (renamed from &quot;GraalJS&quot; at 20230526)\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 strTsv        = configs.get        ( &quot;StrConfA&quot; );       \/\/ REQUIRED\n  if( strTsv === &quot;&quot; ){\n    throw new Error( &quot;\\n AutomatedTask ConfigError:&quot; +\n                     &quot; Config {A: TSV} is empty \\n&quot; );\n  }\n  const arr2dTsv    = parseAsRectangular ( strTsv );           \/\/ as arr2dTSV[Y][X]\nconst strStartIndex = configs.get        ( &quot;StrConfB1&quot; );      \/\/ not required\n  let numStartIndex = Number( strStartIndex );\n  if ( isNaN(numStartIndex) ) {\n    numStartIndex = 0;\n  } else if ( numStartIndex &lt; 0 ) {\n    numStartIndex = arr2dTsv[0].length + numStartIndex;\n  }\n  if( arr2dTsv[0].length &lt;= numStartIndex ){\n    throw new Error( &quot;\\n AutomatedTask ConfigError:&quot; +\n                     &quot; Start-Index must be less than the number of columns. \\n&quot; );\n  }\nconst strEndIndex   = configs.get        ( &quot;StrConfB2&quot; );      \/\/ not required\n  let numEndIndex = strEndIndex.trim() === &quot;&quot; ? NaN : Number( strEndIndex );\n  if ( isNaN(numEndIndex) ) {\n    numEndIndex = arr2dTsv[0].length;\n  } else if ( numEndIndex &lt; 0 ) {\n    numEndIndex = arr2dTsv[0].length + numEndIndex;\n  }\n  if( numEndIndex &lt;= numStartIndex ){\n    throw new Error( &quot;\\n AutomatedTask ConfigError:&quot; +\n                     &quot; Start-Index must be less than End-Index. \\n&quot; );\n  }\nconst strPocketC    = configs.getObject ( &quot;SelectConfC&quot; );     \/\/ REQUIRED\nconst numPocketInY  = configs.getObject ( &quot;SelectConfInY&quot; );   \/\/ not required\nconst numPocketInX  = configs.getObject ( &quot;SelectConfInX&quot; );   \/\/ not required\nconst numPocketOutY = configs.getObject ( &quot;SelectConfOutY&quot; );  \/\/ not required\nconst numPocketOutX = configs.getObject ( &quot;SelectConfOutX&quot; );  \/\/ not required\n\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\n\/\/\/\/ == Calculating \/ \u6f14\u7b97 ==\nlet arrOutputTsv  = [];\n\nfor ( let i = 0; i &lt; arr2dTsv.length; i++ ) {\n  let arrTmp = arr2dTsv[i].slice( numStartIndex, numEndIndex );\n  arrOutputTsv.push ( arrTmp.join( &#39;\\t&#39; ) );\n}\n\n\n\n\/\/\/\/ == Data Updating \/ \u30ef\u30fc\u30af\u30d5\u30ed\u30fc\u30c7\u30fc\u30bf\u3078\u306e\u4ee3\u5165 ==\n\/\/\/ ref) Retrieving \/ Updating from ScriptTasks\n\/\/\/ https:\/\/questetra.zendesk.com\/hc\/en-us\/articles\/360024574771-R2301\n\/\/\/ https:\/\/questetra.zendesk.com\/hc\/en-us\/articles\/360024574771-R2301\n\nif ( strPocketC !== null ){ \n  engine.setData( strPocketC, arrOutputTsv?.join( &#39;\\n&#39; ) ?? &quot;&quot; );\n}\n\nif ( numPocketInY !== null ){ \n  engine.setData( numPocketInY, new java.math.BigDecimal( arr2dTsv.length ) );\n}\nif ( numPocketInX !== null ){ \n  engine.setData( numPocketInX, new java.math.BigDecimal( arr2dTsv[0].length ) );\n}\nif ( numPocketOutY !== null ){ \n  engine.setData( numPocketOutY, new java.math.BigDecimal( arrOutputTsv.length ) );\n}\nif ( numPocketOutX !== null ){ \n  engine.setData( numPocketOutX, new java.math.BigDecimal( arrOutputTsv[0].split(&quot;\\t&quot;).length ) );\n}\n\n\n\n} \/\/\/\/\/\/\/\/ END &quot;main()&quot; \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\n\n\n\n\/**\n * Parses a TSV (Tab-Separated Values) string and returns a 2D array with rectangular shape.\n * This function ensures that each row in the resulting 2D array has the same number of columns,\n * equal to the widest row in the original TSV input. Shorter rows are padded with empty strings.\n * Blank lines in the input are ignored.\n * Additionally, the function logs the minimum and maximum column counts (excluding blank lines),\n * along with the total number of lines and count of blank lines.\n * \n * TSV\uff08\u30bf\u30d6\u533a\u5207\u308a\u5024\uff09\u5f62\u5f0f\u306e\u6587\u5b57\u5217\u3092\u89e3\u6790\u3057\u30012\u6b21\u5143\u306e\u914d\u5217\u3068\u3057\u3066\u6574\u5f62\u3057\u3066\u8fd4\u3057\u307e\u3059\u3002\n * \u5165\u529b\u3055\u308c\u305fTSV\u6587\u5b57\u5217\u3092\u884c\u5358\u4f4d\u3067\u5206\u5272\u3057\u3001\u5404\u884c\u306e\u30bb\u30eb\u6570\u3092\u305d\u308d\u3048\u3066\u300c\u9577\u65b9\u5f62\uff08\u77e9\u5f62\uff09\u300d\u306e\u5f62\u306b\u6574\u3048\u307e\u3059\u3002\n * \u6700\u3082\u30bb\u30eb\u6570\u304c\u591a\u3044\u884c\u306b\u5408\u308f\u305b\u3066\u3001\u30bb\u30eb\u6570\u304c\u8db3\u308a\u306a\u3044\u884c\u306b\u306f\u7a7a\u6587\u5b57\u5217\uff08&quot;&quot;\uff09\u3092\u88dc\u5b8c\u3057\u307e\u3059\u3002\n * \u7a7a\u884c\uff08\u4e2d\u8eab\u304c\u7a7a\u306e\u884c\uff09\u306f\u7121\u8996\u3055\u308c\u307e\u3059\u3002\n * \u307e\u305f\u3001\u6700\u5c0f\u5217\u6570\u30fb\u6700\u5927\u5217\u6570\u30fb\u5168\u4f53\u306e\u884c\u6570\u30fb\u7a7a\u884c\u306e\u6570\u3092\u30ed\u30b0\u306b\u51fa\u529b\u3057\u307e\u3059\uff08engine.log\uff09\u3002\n * \n * \n * @param {string} strTsv - The raw TSV string, with rows separated by newline characters (`\\n`) \n *                          and cells separated by tab characters (`\\t`).\n * \n * @returns {string[][]} A two-dimensional array where each sub-array represents a row from the TSV input,\n *                       padded with empty strings to ensure uniform column width.\n * \n * @example\n * const tsv = &quot;a\\tb\\tc\\n1\\t2\\nx\\ty\\tz\\tw\\n&quot;;\n * const result = parseAsRectangular(tsv);\n * \/\/ result:\n * \/\/ [\n * \/\/   [&quot;a&quot;, &quot;b&quot;, &quot;c&quot;, &quot;&quot;],\n * \/\/   [&quot;1&quot;, &quot;2&quot;, &quot;&quot;, &quot;&quot;],\n * \/\/   [&quot;x&quot;, &quot;y&quot;, &quot;z&quot;, &quot;w&quot;]\n * \/\/ ]\n *\/\n\nfunction parseAsRectangular( strTsv ){\n  const arrTsv = strTsv.split(&quot;\\n&quot;);\n\n  \/\/\/ Get numMinWidth and numMaxWidth (blank lines are excluded)\n  let numMinWidth   = Infinity; \/\/ cf. String-Type Max: 1 million\n  let numMaxWidth   = 0;\n  let numBlanklines = 0;\n  for( let i = 0; i &lt; arrTsv.length; i++ ){\n    if( arrTsv[i] === &quot;&quot; ){ \/\/ Skip blank lines\n      numBlanklines += 1;\n      continue;\n    }\n    let arrCells = arrTsv[i].split(&quot;\\t&quot;);\n    if( numMinWidth &gt; arrCells.length ){ numMinWidth = arrCells.length; }\n    if( numMaxWidth &lt; arrCells.length ){ numMaxWidth = arrCells.length; }\n  }\n  engine.log( &quot; AutomatedTask TsvDataCheck:&quot; + \n              &quot; MinWidth:&quot; + numMinWidth +\n              &quot; MaxWidth:&quot; + numMaxWidth +\n              &quot; Lines:&quot; + arrTsv.length +\n              &quot; (BlankLines:&quot; + numBlanklines + &quot;)&quot; );\n\n  \/\/\/ Get numMinWidth and numMaxWidth (blank lines are excluded)\n  let arr2dTsv      = [];\n  for( let i = 0; i &lt; arrTsv.length; i++ ){\n    if( arrTsv[i] === &quot;&quot; ){ \/\/ Skip blank lines\n      continue;\n    }\n    let arrTmp = [];\n    let arrCells = arrTsv[i].split(&quot;\\t&quot;);\n    for( let j = 0; j &lt; numMaxWidth; j++ ){\n      if( j &lt; arrCells.length ){\n        arrTmp[j] = arrCells[j];\n      }else{\n        arrTmp[j] = &quot;&quot;;\n      }\n    }\n    arr2dTsv.push( arrTmp );\n  }\n\n  return arr2dTsv;\n}\n\n\n\n\/*\n### NOTES\n- When the process reaches this [Automated Step], the extraction is automatically executed.\n    - This is a convenient add-on automated step for automating subsequent processes such as data integration and data aggregation.\n- The specified column range (from the START index to just before the END index) is automatically extracted.\n    - The column index starts at &quot;0&quot; (counting from the beginning, first column is `0`).\n    - A negative value can also be set for the column index (counting from the end, last column is `-1`).\n    - If the START index is omitted, extraction will start from the first column of the TSV.\n    - If the END index is omitted, extraction will run up to the last column of the TSV.\n\n### NOTES-ja\n- \u6848\u4ef6\u30d7\u30ed\u30bb\u30b9\u304c\u3053\u306e\u81ea\u52d5\u5de5\u7a0b\u306b\u5230\u9054\u3057\u305f\u969b\u3001TSV\u30c6\u30ad\u30b9\u30c8\u304c\u8aad\u307f\u8fbc\u307e\u308c\u300c\u62bd\u51fa\u51e6\u7406\u300d\u304c\u81ea\u52d5\u5b9f\u884c\u3055\u308c\u307e\u3059\n    - \u30c7\u30fc\u30bf\u9023\u643a\u3084\u30c7\u30fc\u30bf\u96c6\u8a08\u306a\u3069\u3001\u5f8c\u7d9a\u51e6\u7406\u306e\u81ea\u52d5\u5316\u3092\u884c\u3046\u969b\u306b\u4fbf\u5229\u306a\u30a2\u30c9\u30aa\u30f3\u81ea\u52d5\u5de5\u7a0b\u3067\u3059\n- \u6307\u5b9a\u306e\u5217\u7bc4\u56f2\uff08START\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u304b\u3089END\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306e\u624b\u524d\u307e\u3067\uff09\u304c\u3001\u81ea\u52d5\u62bd\u51fa\u3055\u308c\u307e\u3059\n    - \u5217\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306f\u300c0\u300d\u304b\u3089\u59cb\u307e\u308a\u307e\u3059\uff08\u5148\u982d\u304b\u3089\u6570\u3048\u308b\uff0f\u5148\u982d\u5217\u306f `0`\uff09\n    - \u5217\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306b\u306f\u300c\u8ca0\u306e\u5024\u300d\u3082\u8a2d\u5b9a\u53ef\u80fd\u3067\u3059\uff08\u672b\u5c3e\u304b\u3089\u6570\u3048\u308b\uff0f\u672b\u5c3e\u5217\u306f `-1`\uff09\n    - START\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u6307\u5b9a\u304c\u7701\u7565\u3055\u308c\u305f\u5834\u5408\u3001TSV\u306e\u6700\u521d\u306e\u5217\u304b\u3089\u62bd\u51fa\u3055\u308c\u307e\u3059\n    - END\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u6307\u5b9a\u304c\u7701\u7565\u3055\u308c\u305f\u5834\u5408\u3001TSV\u306e\u6700\u5f8c\u306e\u5217\u307e\u3067\u304c\u62bd\u51fa\u3055\u308c\u307e\u3059\n\n### APPENDIX\n- TSV (Tab Separated Values) text is assumed to be rectangular data.\n    - TSV text: monthly sales summary, monthly access summary, PIVOT table, etc.\n    - Non-rectangular data is automatically formatted with an empty string (adjusted to the longest number of columns).\n    - Blank lines (including trailing newlines) are ignored.\n- Indexes:\n    - Indexes start from 0 (first column is `0`).\n    - For example, the third column from the left (so-called column C) has index `2`.\n    - Negative indexes are counted from the end (last column is `-1`).\n    - For example, the third column from the right has index `-3`.\n- The number of rows (height) and columns (width) of the input\/output TSV can be stored in Numeric data.\n- If the order of the output TSV columns should be changed, place a &quot;TSV String, Convert&quot; downstream in the workflow.\n    - https:\/\/support.questetra.com\/en\/addons\/tsv-string-convert-2021\/\n\n### APPENDIX-ja\n- TSV\uff08Tab Separated Values\uff09\u30c6\u30ad\u30b9\u30c8\u306f\u3001\u77e9\u5f62\u30c7\u30fc\u30bf\u3092\u524d\u63d0\u3068\u3057\u307e\u3059\n    - TSV\u30c6\u30ad\u30b9\u30c8: \u6708\u6b21\u58f2\u4e0a\u96c6\u8a08\u3001\u6708\u6b21\u30a2\u30af\u30bb\u30b9\u96c6\u8a08\u3001PIVOT\u30c6\u30fc\u30d6\u30eb\u3001\u306a\u3069\n    - \u77e9\u5f62\u3067\u306a\u3044\u30c7\u30fc\u30bf\u306f\u3001\u7a7a\u6587\u5b57\u5217\u306b\u3088\u3063\u3066\u81ea\u52d5\u6574\u5f62\u3055\u308c\u307e\u3059\uff08\u6700\u3082\u9577\u3044\u5217\u6570\u306b\u5408\u308f\u305b\u308b\uff09\n    - \u7a7a\u884c\uff08\u672b\u5c3e\u6539\u884c\u3092\u542b\u3080\uff09\u306f\u7121\u8996\u3055\u308c\u307e\u3059\n- \u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306e\u7406\u89e3:\n    - \u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306f0\u304b\u3089\u59cb\u307e\u308a\u307e\u3059\uff08\u5148\u982d\u5217\u306f `0`\uff09\n    - \u4f8b\u3048\u3070\u3001\u5de6\u304b\u30893\u756a\u76ee\u306e\u5217\uff08\u3044\u308f\u3086\u308bC\u5217\uff09\u306f\u3001\u30a4\u30f3\u30c7\u30c3\u30af\u30b9 `2` \u3068\u306a\u308a\u307e\u3059\n    - \u8ca0\u306e\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306f\u672b\u5c3e\u304b\u3089\u6570\u3048\u307e\u3059\uff08\u672b\u5c3e\u5217\u306f `-1`\uff09\n    - \u4f8b\u3048\u3070\u3001\u53f3\u304b\u30893\u756a\u76ee\u306e\u5217\u306f\u3001\u30a4\u30f3\u30c7\u30c3\u30af\u30b9 `-3` \u3068\u306a\u308a\u307e\u3059\n- \u30a4\u30f3\u30d7\u30c3\u30c8TSV\u304a\u3088\u3073\u30a2\u30a6\u30c8\u30d7\u30c3\u30c8TSV\u306e\u884c\u6570\uff08\u9ad8\u3055\uff09\u3068\u5217\u6570\uff08\u5e45\uff09\u3092\u6570\u5024\u578b\u30c7\u30fc\u30bf\u9805\u76ee\u306b\u683c\u7d0d\u3067\u304d\u307e\u3059\n- \u51fa\u529bTSV\u5217\u306e\u4e26\u3073\u9806\u304c\u5909\u66f4\u3055\u308c\u308b\u3079\u304d\u306a\u3089\u3001\u30ef\u30fc\u30af\u30d5\u30ed\u30fc\u4e0b\u6d41\u306b\u300eTSV \u6587\u5b57\u5217, \u5909\u63db\u300f\u3092\u914d\u7f6e\u3057\u307e\u3059\n    - https:\/\/support.questetra.com\/ja\/addons\/tsv-string-convert-2021\/\n*\/\n\n<\/code><\/pre><\/div>\n<\/div><\/details><\/div>\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"margin-top:var(--wp--preset--spacing--30)\"><span>Download<\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a rel=\"noreferrer noopener\" href=\"https:\/\/drive.google.com\/file\/d\/1llLGY7IUhAPHjaSk8qEJOic22W5ayoex\/view?usp=drivesdk\" target=\"_blank\">tsv-string-extract-range-columns-2025.xml<\/a>\n<ul class=\"wp-block-list\">\n<li>2025-07-09 (C) Questetra, Inc. (MIT License)<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<div class=\"has-small-font-size\" style=\"text-align: right;\"><div style=\"display: inline-block; background: #FBE7DD; text-align: center;\">\n<span class=\"material-icons\">warning<\/span> Freely modifiable JavaScript (ECMAScript) code. No warranty of any kind.<br>\n(Installing <em><strong>Addon Auto-Steps<\/strong><\/em> are available only on the <em><strong><span style=\"color: #1970B9\">Professional<\/span><\/strong><\/em> edition.)\n<\/div><\/div>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"margin-top:var(--wp--preset--spacing--30)\"><span>Notes<\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>When the process reaches this [Automated Step], the extraction is automatically executed.\n<ul class=\"wp-block-list\">\n<li>This is a convenient add-on automated step for automating subsequent processes such as data integration and data aggregation.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>The specified column range (from the START index to just before the END index) is automatically extracted.\n<ul class=\"wp-block-list\">\n<li>The column index starts at &#8220;0&#8221; (counting from the beginning, first column is <code>0<\/code>).<\/li>\n\n\n\n<li>A negative value can also be set for the column index (counting from the end, last column is <code>-1<\/code>).<\/li>\n\n\n\n<li>If the START index is omitted, extraction will start from the first column of the TSV.<\/li>\n\n\n\n<li>If the END index is omitted, extraction will run up to the last column of the TSV.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"margin-top:var(--wp--preset--spacing--30)\"><span>Capture<\/span><\/h3>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6ac788b21e6b9&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6ac788b21e6b9\" class=\"wp-block-image size-full has-lightbox wp-lightbox-container\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1200\" height=\"628\" data-attachment-id=\"174798\" data-permalink=\"https:\/\/support.questetra.com\/en\/developer-blog\/collab-chat-basics-part2\/attachment\/tsv-string-extract-range-columns-2025-en\/\" data-orig-file=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2025\/07\/tsv-string-extract-range-columns-2025-en.png?fit=1200%2C628&amp;ssl=1\" data-orig-size=\"1200,628\" data-comments-opened=\"0\" data-image-title=\"tsv-string-extract-range-columns-2025-en\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2025\/07\/tsv-string-extract-range-columns-2025-en.png?fit=1024%2C536&amp;ssl=1\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2025\/07\/tsv-string-extract-range-columns-2025-en.png?resize=1200%2C628&#038;ssl=1\" alt=\"\" class=\"wp-image-174798\" srcset=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2025\/07\/tsv-string-extract-range-columns-2025-en.png?w=1200&amp;ssl=1 1200w, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2025\/07\/tsv-string-extract-range-columns-2025-en.png?resize=600%2C315&amp;ssl=1 600w, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2025\/07\/tsv-string-extract-range-columns-2025-en.png?resize=1024%2C536&amp;ssl=1 1024w, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2025\/07\/tsv-string-extract-range-columns-2025-en.png?resize=768%2C402&amp;ssl=1 768w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6ac788b21f514&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6ac788b21f514\" class=\"wp-block-image aligncenter size-large has-custom-border is-style-rounded has-lightbox is-style-rounded--1 wp-lightbox-container\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"816\" height=\"630\" data-attachment-id=\"174796\" data-permalink=\"https:\/\/support.questetra.com\/en\/developer-blog\/collab-chat-basics-part2\/attachment\/tsv-string-extract-range-columns-2025-config-en\/\" data-orig-file=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2025\/07\/tsv-string-extract-range-columns-2025-config-en.png?fit=1194%2C922&amp;ssl=1\" data-orig-size=\"1194,922\" data-comments-opened=\"0\" data-image-title=\"tsv-string-extract-range-columns-2025-config-en\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2025\/07\/tsv-string-extract-range-columns-2025-config-en.png?fit=816%2C630&amp;ssl=1\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2025\/07\/tsv-string-extract-range-columns-2025-config-en-816x630.png?resize=816%2C630&#038;ssl=1\" alt=\"\" class=\"has-border-color wp-image-174796\" style=\"border-color:#009900;border-width:3px;border-radius:9px\" srcset=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2025\/07\/tsv-string-extract-range-columns-2025-config-en.png?resize=816%2C630&amp;ssl=1 816w, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2025\/07\/tsv-string-extract-range-columns-2025-config-en.png?resize=408%2C315&amp;ssl=1 408w, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2025\/07\/tsv-string-extract-range-columns-2025-config-en.png?resize=768%2C593&amp;ssl=1 768w, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2025\/07\/tsv-string-extract-range-columns-2025-config-en.png?w=1194&amp;ssl=1 1194w\" sizes=\"auto, (max-width: 816px) 100vw, 816px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"margin-top:var(--wp--preset--spacing--30)\"><span >Appendix<\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>TSV (Tab Separated Values) text is assumed to be rectangular data.\n<ul class=\"wp-block-list\">\n<li>TSV text: monthly sales summary, monthly access summary, PIVOT table, etc.<\/li>\n\n\n\n<li>Non-rectangular data is automatically formatted with an empty string (adjusted to the longest number of columns).<\/li>\n\n\n\n<li>Blank lines (including trailing newlines) are ignored.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Indexes:\n<ul class=\"wp-block-list\">\n<li>Indexes start from 0 (first column is <code>0<\/code>).<\/li>\n\n\n\n<li>For example, the third column from the left (so-called column C) has index <code>2<\/code>.<\/li>\n\n\n\n<li>Negative indexes are counted from the end (last column is <code>-1<\/code>).<\/li>\n\n\n\n<li>For example, the third column from the right has index <code>-3<\/code>.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>The number of rows (height) and columns (width) of the input\/output TSV can be stored in Numeric data.<\/li>\n\n\n\n<li>If the order of the output TSV columns should be changed, place a &#8220;TSV String, Convert&#8221; downstream in the workflow.\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/support.questetra.com\/en\/addons\/tsv-string-convert-2021\/\">https:\/\/support.questetra.com\/en\/addons\/tsv-string-convert-2021\/<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"margin-top:var(--wp--preset--spacing--30)\"><span>See also<\/span><\/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=\"is9N9vmtXz\"><a href=\"https:\/\/support.questetra.com\/en\/addons\/multiline-string-get-range-lines-2021\/\">Multiline String, Get Range Lines<\/a><\/blockquote><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; visibility: hidden;\" title=\"\u201cMultiline String, Get Range Lines\u201d \u2014 Questetra Support\" src=\"https:\/\/support.questetra.com\/en\/addons\/multiline-string-get-range-lines-2021\/embed\/#?secret=9ZSt6ujtK0#?secret=is9N9vmtXz\" data-secret=\"is9N9vmtXz\" width=\"500\" height=\"282\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><\/figure>\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=\"JSVxvJ24YT\"><a href=\"https:\/\/support.questetra.com\/en\/addons\/tsv-string-extract-by-regexp-for-each-line-2025\/\">#TSV-String: Extract by RegExp for each Line<\/a><\/blockquote><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; visibility: hidden;\" title=\"\u201c#TSV-String: Extract by RegExp for each Line\u201d \u2014 Questetra Support\" src=\"https:\/\/support.questetra.com\/en\/addons\/tsv-string-extract-by-regexp-for-each-line-2025\/embed\/#?secret=PdLWa64Sfn#?secret=JSVxvJ24YT\" data-secret=\"JSVxvJ24YT\" width=\"500\" height=\"282\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Extracts the specified range of columns from START index to END index of the TSV (END not included). The index starts from &#8220;0&#8221;. Negative index counts back from the end. If START is omitted &#8220;from the beginning&#8221;, and if END is omitted &#8220;to the end&#8221;.<\/p>\n","protected":false},"author":2,"featured_media":174798,"comment_status":"closed","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":"","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":[169],"tags":[451],"faq_section":[],"class_list":["post-174802","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-addons","tag-tsv-csv"],"jetpack_publicize_connections":[],"uagb_featured_image_src":{"full":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2025\/07\/tsv-string-extract-range-columns-2025-en.png?fit=1200%2C628&ssl=1",1200,628,false],"thumbnail":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2025\/07\/tsv-string-extract-range-columns-2025-en.png?resize=440%2C440&ssl=1",440,440,true],"medium":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2025\/07\/tsv-string-extract-range-columns-2025-en.png?fit=600%2C315&ssl=1",600,315,true],"medium_large":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2025\/07\/tsv-string-extract-range-columns-2025-en.png?fit=768%2C402&ssl=1",768,402,true],"large":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2025\/07\/tsv-string-extract-range-columns-2025-en.png?fit=1024%2C536&ssl=1",1024,536,true],"1536x1536":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2025\/07\/tsv-string-extract-range-columns-2025-en.png?fit=1200%2C628&ssl=1",1200,628,true],"2048x2048":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2025\/07\/tsv-string-extract-range-columns-2025-en.png?fit=1200%2C628&ssl=1",1200,628,true],"newspack-article-block-landscape-large":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2025\/07\/tsv-string-extract-range-columns-2025-en.png?resize=1200%2C628&ssl=1",1200,628,true],"newspack-article-block-portrait-large":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2025\/07\/tsv-string-extract-range-columns-2025-en.png?resize=900%2C628&ssl=1",900,628,true],"newspack-article-block-square-large":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2025\/07\/tsv-string-extract-range-columns-2025-en.png?resize=1200%2C628&ssl=1",1200,628,true],"newspack-article-block-landscape-medium":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2025\/07\/tsv-string-extract-range-columns-2025-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\/2025\/07\/tsv-string-extract-range-columns-2025-en.png?resize=600%2C628&ssl=1",600,628,true],"newspack-article-block-square-medium":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2025\/07\/tsv-string-extract-range-columns-2025-en.png?resize=800%2C628&ssl=1",800,628,true],"newspack-article-block-landscape-intermediate":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2025\/07\/tsv-string-extract-range-columns-2025-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\/2025\/07\/tsv-string-extract-range-columns-2025-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\/2025\/07\/tsv-string-extract-range-columns-2025-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\/2025\/07\/tsv-string-extract-range-columns-2025-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\/2025\/07\/tsv-string-extract-range-columns-2025-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\/2025\/07\/tsv-string-extract-range-columns-2025-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\/2025\/07\/tsv-string-extract-range-columns-2025-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\/2025\/07\/tsv-string-extract-range-columns-2025-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\/2025\/07\/tsv-string-extract-range-columns-2025-en.png?resize=200%2C200&ssl=1",200,200,true],"newspack-article-block-uncropped":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2025\/07\/tsv-string-extract-range-columns-2025-en.png?fit=1200%2C628&ssl=1",1200,628,true]},"uagb_author_info":{"display_name":"IMAMURA, Genichi","author_link":"https:\/\/support.questetra.com\/en\/author\/imamuragenichi\/"},"uagb_comment_info":0,"uagb_excerpt":"Extracts the specified range of columns from START index to END index of the TSV (END not included). The index starts from \"0\". Negative index counts back from the end. If START is omitted \"from the beginning\", and if END is omitted \"to the end\".","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p9DiIh-Jto","jetpack-related-posts":[{"id":78242,"url":"https:\/\/support.questetra.com\/en\/addons\/tsv-string-add-prefix-to-column\/","url_meta":{"origin":174802,"position":0},"title":"TSV String; Add Prefix to Column","author":"IMAMURA, Genichi","date":"2019-08-02","format":false,"excerpt":"Generates a new TSV with concatenating the prefix Str to all cells in the column. The concatenated strings are added at the end of the line. Available at categorization 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":"","src":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/08\/Tsv-String-Add-Prefix-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-Prefix-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-Prefix-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-Prefix-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-Prefix-to-Column-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":174802,"position":1},"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":[]},{"id":78118,"url":"https:\/\/support.questetra.com\/en\/addons\/tsv-string-reorder-columns\/","url_meta":{"origin":174802,"position":2},"title":"TSV String; Re-order Columns","author":"IMAMURA, Genichi","date":"2021-02-01","format":false,"excerpt":"Extracts a new TSV string re-arranged by a column ID list from TSV string. ID repetition in the list is also possible. It can be used to narrow down necessary information or conform to the format. 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":"","src":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/07\/Tsv-String-Reorder-Columns-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\/Tsv-String-Reorder-Columns-en.png?fit=1200%2C675&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/07\/Tsv-String-Reorder-Columns-en.png?fit=1200%2C675&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/07\/Tsv-String-Reorder-Columns-en.png?fit=1200%2C675&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/07\/Tsv-String-Reorder-Columns-en.png?fit=1200%2C675&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":82149,"url":"https:\/\/support.questetra.com\/en\/addons\/questetra-bpms-process-batch-extract-as-tsv\/","url_meta":{"origin":174802,"position":3},"title":"Questetra BPMS: Process, Batch Extract as TSV","author":"IMAMURA, Genichi","date":"2019-11-21","format":false,"excerpt":"Extracts process data as a multi-line TSV string from date-filtered processes. Items are specified in CSV format such as \"string:0,date:2,select:3\". Tab code and line feed code are deleted. Discussion, Table, Guide-Panel type not supported.","rel":"","context":"In &quot;Add-ons&quot;","block_context":{"text":"Add-ons","link":"https:\/\/support.questetra.com\/en\/category\/addons\/"},"img":{"alt_text":"Questetra BPMS: Process, Batch Extract as TSV","src":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/11\/Questetra-BPMS-Process-Batch-Extract-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\/11\/Questetra-BPMS-Process-Batch-Extract-as-TSV-en.png?fit=1200%2C675&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/11\/Questetra-BPMS-Process-Batch-Extract-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\/11\/Questetra-BPMS-Process-Batch-Extract-as-TSV-en.png?fit=1200%2C675&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/11\/Questetra-BPMS-Process-Batch-Extract-as-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":174802,"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":78218,"url":"https:\/\/support.questetra.com\/en\/addons\/tsv-string-add-n-to-number-column\/","url_meta":{"origin":174802,"position":5},"title":"TSV String; Add N to Number Column","author":"IMAMURA, Genichi","date":"2019-08-01","format":false,"excerpt":"Generates a new TSV with adding N to each number in the number column. Calculation results are added at the end of the line. Available at discounted price table 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":"","src":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/08\/Tsv-String-Add-N-to-Number-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-N-to-Number-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-N-to-Number-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-N-to-Number-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-N-to-Number-Column-en.png?fit=1200%2C675&ssl=1&resize=1050%2C600 3x"},"classes":[]}],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2025\/07\/tsv-string-extract-range-columns-2025-en.png?fit=1200%2C628&ssl=1","_links":{"self":[{"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/posts\/174802","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=174802"}],"version-history":[{"count":8,"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/posts\/174802\/revisions"}],"predecessor-version":[{"id":175004,"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/posts\/174802\/revisions\/175004"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/media\/174798"}],"wp:attachment":[{"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/media?parent=174802"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/categories?post=174802"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/tags?post=174802"},{"taxonomy":"faq_section","embeddable":true,"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/faq_section?post=174802"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}