{"id":22980,"date":"2025-11-23T22:07:45","date_gmt":"2025-11-23T13:07:45","guid":{"rendered":"https:\/\/cg-method.com\/google\/?p=22980"},"modified":"2026-09-26T12:31:34","modified_gmt":"2026-09-26T03:31:34","slug":"sheets-gas-sync-multi-key-rows","status":"publish","type":"post","link":"https:\/\/cg-method.com\/google\/sheets-gas-sync-multi-key-rows\/","title":{"rendered":"Google\u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u25022\u3064\u306e\u30b7\u30fc\u30c8\u3092\u81ea\u52d5\u540c\u671f\u3059\u308bGAS\u306e\u4f5c\u308a\u65b9"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">\u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u306e\u30c7\u30fc\u30bf\u3092\u53d6\u5f97\u3057\u3001\u5f8c\u308d\u306e\u5217\u306b\u5099\u8003\u306a\u3069\u306e\u8ffd\u8a18\u60c5\u5831\u3092\u7ba1\u7406\u3059\u308b\u3053\u3068\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5143\u30c7\u30fc\u30bf\u306e\u884c\u304c\u8ffd\u52a0\u3084\u524a\u9664\u306b\u3088\u3063\u3066\u5909\u52d5\u3059\u308b\u3068\u3001\u624b\u4f5c\u696d\u3067\u8ffd\u8a18\u3057\u305f\u5099\u8003\u306a\u3069\u306e\u5217\u60c5\u5831\u3068\u4f4d\u7f6e\u304c\u305a\u308c\u3066\u3057\u307e\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u305d\u3053\u3067\u3001\u884c\u306e\u5897\u6e1b\u304c\u3042\u3063\u3066\u3082\u8ffd\u8a18\u5185\u5bb9\u3092\u7dad\u6301\u3057\u305f\u307e\u307e2\u3064\u306e\u30b7\u30fc\u30c8\u3092\u540c\u671f\u3059\u308bGAS\u3092\u4f5c\u6210\u3057\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u30b9\u30af\u30ea\u30d7\u30c8\u5b9f\u884c\u524d<\/strong><\/p>\n\n\n\n<div class=\"swell-block-columns\"><div class=\"swell-block-columns__inner\">\n<div class=\"swell-block-column swl-has-mb--s\">\n<figure class=\"wp-block-image size-full is-style-border\"><img loading=\"lazy\" decoding=\"async\" width=\"477\" height=\"278\" src=\"https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/11\/2025-11-23_21h53_32.png\" alt=\"\u81ea\u52d5\u540c\u671f\u30b9\u30af\u30ea\u30d7\u30c8\u3092\u5b9f\u884c\u3059\u308b\u524d\u306e\u30b7\u30fc\u30c81\u306e\u72b6\u614b\u3002\" class=\"wp-image-22981\" srcset=\"https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/11\/2025-11-23_21h53_32.png 477w, https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/11\/2025-11-23_21h53_32-300x175.png 300w\" sizes=\"auto, (max-width: 477px) 100vw, 477px\" \/><\/figure>\n<\/div>\n\n\n\n<div class=\"swell-block-column swl-has-mb--s\">\n<figure class=\"wp-block-image size-full is-style-border\"><img loading=\"lazy\" decoding=\"async\" width=\"477\" height=\"278\" src=\"https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/11\/2025-11-23_21h53_46.png\" alt=\"\u81ea\u52d5\u540c\u671f\u30b9\u30af\u30ea\u30d7\u30c8\u3092\u5b9f\u884c\u3059\u308b\u524d\u306e\u30b7\u30fc\u30c82\u306e\u72b6\u614b\u3002\" class=\"wp-image-22982\" srcset=\"https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/11\/2025-11-23_21h53_46.png 477w, https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/11\/2025-11-23_21h53_46-300x175.png 300w\" sizes=\"auto, (max-width: 477px) 100vw, 477px\" \/><\/figure>\n<\/div>\n<\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u30b9\u30af\u30ea\u30d7\u30c8\u5b9f\u884c\u5f8c<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-style-border\"><img loading=\"lazy\" decoding=\"async\" width=\"477\" height=\"278\" src=\"https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/11\/2025-11-23_21h53_59.png\" alt=\"\u30b9\u30af\u30ea\u30d7\u30c8\u5b9f\u884c\u5f8c\u306b\u30b7\u30fc\u30c82\u306e\u6700\u65b0\u5185\u5bb9\u304c\u53cd\u6620\u3055\u308c\u3001\u30b7\u30fc\u30c81\u306eD\u5217\u306e\u5099\u8003\u6b04\u30c7\u30fc\u30bf\u3082\u7dad\u6301\u3055\u308c\u3066\u3044\u308b\u69d8\u5b50\u3002\" class=\"wp-image-22983\" srcset=\"https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/11\/2025-11-23_21h53_59.png 477w, https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/11\/2025-11-23_21h53_59-300x175.png 300w\" sizes=\"auto, (max-width: 477px) 100vw, 477px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u30b7\u30fc\u30c82\u306e\u6700\u65b0\u5185\u5bb9\u3092\u53cd\u6620\u3057\u306a\u304c\u3089\u3001\u30b7\u30fc\u30c81\u306eD\u5217\u306b\u3042\u308b\u5099\u8003\u6b04\u306e\u30c7\u30fc\u30bf\u3082\u305a\u308c\u308b\u3053\u3068\u306a\u304f\u7dad\u6301\u3055\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u5dee\u5206\u30b3\u30d4\u30fc\u306e\u8003\u3048\u65b9<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u30b7\u30fc\u30c81\uff1a\u5099\u8003\u306a\u3069\u306e\u60c5\u5831\u3092\u624b\u52d5\u3067\u52a0\u7b46\u3057\u3066\u3044\u308b\u30b7\u30fc\u30c8<\/li>\n\n\n\n<li>\u30b7\u30fc\u30c82\uff1a\u5916\u90e8\u304b\u3089\u53d6\u5f97\u30fb\u66f4\u65b0\u3055\u308c\u305f\u6700\u65b0\u60c5\u5831\u306e\u30b7\u30fc\u30c8<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u51e6\u7406\u306e\u524d\u63d0\u6761\u4ef6\u306f\u6b21\u306e\u3068\u304a\u308a\u3067\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A\u5217\u304b\u3089C\u5217\u306f\u30b7\u30fc\u30c82\u304b\u3089\u53d6\u5f97\u30fb\u66f4\u65b0\u3059\u308b\u57fa\u672c\u30c7\u30fc\u30bf\u3068\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">D\u5217\u4ee5\u964d\u306f\u30b7\u30fc\u30c81\u5074\u3067\u500b\u5225\u306b\u5165\u529b\u30fb\u7ba1\u7406\u3057\u3066\u3044\u308b\u8ffd\u52a0\u60c5\u5831\u3068\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u306e\u51e6\u7406\u3067\u306f\u3001<strong>A\u5217\u304b\u3089C\u5217\u306e\u5024\u3092\u4e00\u610f\u306e\u30ad\u30fc\u3068\u3057\u3066\u914d\u5217\u3084\u9023\u60f3\u914d\u5217\u306b\u4fdd\u6301<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u30b7\u30fc\u30c82\u306e\u30c7\u30fc\u30bf\u30921\u884c\u305a\u3064\u8aad\u307f\u8fbc\u307f\u3001\u30ad\u30fc\u304c\u4e00\u81f4\u3059\u308b\u30b7\u30fc\u30c81\u306e\u884c\u306b\u5bfe\u5fdc\u3059\u308bD\u5217\u4ee5\u964d\u306e\u5024\u3092\u5f15\u304d\u7d99\u3044\u3067\u4e0a\u66f8\u304d\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u30ad\u30fc\u60c5\u5831\u3092\u3082\u3068\u306b\u884c\u3092\u7279\u5b9a\u3059\u308b\u305f\u3081\u3001\u884c\u306e\u4f4d\u7f6e\u304c\u5909\u308f\u3063\u3066\u3082\u5099\u8003\u304c\u305a\u308c\u307e\u305b\u3093\u3002<\/p>\n\n\n\n<div class=\"swell-block-columns\"><div class=\"swell-block-columns__inner\">\n<div class=\"swell-block-column swl-has-mb--s\">\n<figure class=\"wp-block-image size-full is-style-border\"><img loading=\"lazy\" decoding=\"async\" width=\"477\" height=\"278\" src=\"https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/11\/2025-11-23_21h53_32.png\" alt=\"\u884c\u306e\u4f4d\u7f6e\u304c\u5909\u308f\u3063\u3066\u3082\u5099\u8003\u304c\u305a\u308c\u306a\u3044\u691c\u8a3c\u306b\u304a\u3051\u308b\u3001\u30b9\u30af\u30ea\u30d7\u30c8\u5b9f\u884c\u524d\u306e\u30b7\u30fc\u30c81\u306e\u72b6\u614b\u3002\" class=\"wp-image-22981\" srcset=\"https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/11\/2025-11-23_21h53_32.png 477w, https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/11\/2025-11-23_21h53_32-300x175.png 300w\" sizes=\"auto, (max-width: 477px) 100vw, 477px\" \/><\/figure>\n<\/div>\n\n\n\n<div class=\"swell-block-column swl-has-mb--s\">\n<figure class=\"wp-block-image size-full is-style-border\"><img loading=\"lazy\" decoding=\"async\" width=\"477\" height=\"278\" src=\"https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/11\/2025-11-23_21h53_46.png\" alt=\"\u884c\u306e\u4f4d\u7f6e\u304c\u5909\u308f\u3063\u3066\u3082\u5099\u8003\u304c\u305a\u308c\u306a\u3044\u691c\u8a3c\u306b\u304a\u3051\u308b\u3001\u30b9\u30af\u30ea\u30d7\u30c8\u5b9f\u884c\u524d\u306e\u30b7\u30fc\u30c82\u306e\u72b6\u614b\u3002\" class=\"wp-image-22982\" srcset=\"https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/11\/2025-11-23_21h53_46.png 477w, https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/11\/2025-11-23_21h53_46-300x175.png 300w\" sizes=\"auto, (max-width: 477px) 100vw, 477px\" \/><\/figure>\n<\/div>\n<\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u30b9\u30af\u30ea\u30d7\u30c8\u5b9f\u884c\u5f8c<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-style-border\"><img loading=\"lazy\" decoding=\"async\" width=\"477\" height=\"278\" src=\"https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/11\/2025-11-23_21h53_59.png\" alt=\"\u30b9\u30af\u30ea\u30d7\u30c8\u5b9f\u884c\u5f8c\u306b\u884c\u306e\u524a\u9664\u3084\u8ffd\u52a0\u304c\u53cd\u6620\u3055\u308c\u3001D\u5217\u306e\u8ffd\u8a18\u60c5\u5831\u304c\u6b63\u3057\u304f\u7dad\u6301\u3055\u308c\u3066\u3044\u308b\u69d8\u5b50\u3002\" class=\"wp-image-22983\" srcset=\"https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/11\/2025-11-23_21h53_59.png 477w, https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/11\/2025-11-23_21h53_59-300x175.png 300w\" sizes=\"auto, (max-width: 477px) 100vw, 477px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u30b7\u30fc\u30c82\u306e\u5185\u5bb9\u304c\u53cd\u6620\u3055\u308c\u3001D\u5217\u306e\u5099\u8003\u6b04\u3082\u6b63\u3057\u304f\u7d10\u3065\u3044\u305f\u72b6\u614b\u3067\u7dad\u6301\u3055\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"is-style-icon_pen wp-block-paragraph\">\u30b7\u30fc\u30c81\u306e4\u884c\u76ee\u304c\u524a\u9664\u3055\u308c\u3001\u30b7\u30fc\u30c82\u306e2\u884c\u76ee\u30683\u884c\u76ee\u304c\u65b0\u305f\u306b\u8ffd\u52a0\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"is-style-icon_pen wp-block-paragraph\">\u884c\u306e\u5897\u6e1b\u304c\u3042\u3063\u3066\u3082\u3001D\u5217\u306e\u8ffd\u8a18\u60c5\u5831\u306f\u6b63\u3057\u304f\u7dad\u6301\u3055\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A\u5217\u304b\u3089C\u5217\u306e\u5024\u306e\u7d44\u307f\u5408\u308f\u305b\u304c\u4e00\u610f\uff08\u30e6\u30cb\u30fc\u30af\uff09\u3067\u3042\u308c\u3070\u3001\u3053\u306e\u624b\u6cd5\u3067\u6b63\u78ba\u306b\u5dee\u5206\u540c\u671f\u304c\u53ef\u80fd\u3067\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u5dee\u5206\u540c\u671f\u3092\u884c\u3046\u30b9\u30af\u30ea\u30d7\u30c8\u30b3\u30fc\u30c9<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u51e6\u7406\u306e\u6d41\u308c\u306f\u30b7\u30f3\u30d7\u30eb\u3067\u3059\u304c\u3001\u5b9f\u969b\u306e\u30b9\u30af\u30ea\u30d7\u30c8\u306f213\u884c\u3042\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5404\u51e6\u7406\u306e\u5f79\u5272\u304c\u308f\u304b\u308b\u3088\u3046\u3001\u8a73\u7d30\u306a\u30b3\u30e1\u30f3\u30c8\u3092\u8a18\u8f09\u3057\u305f\u30b3\u30fc\u30c9\u3092\u63b2\u8f09\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Google\u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u306b\u95a2\u3059\u308b\u305d\u306e\u4ed6\u306e\u81ea\u52d5\u5316\u3084\u64cd\u4f5c\u65b9\u6cd5\u306b\u3064\u3044\u3066\u306f\u3001\u307e\u3068\u3081\u8a18\u4e8b\u3092\u3054\u53c2\u7167\u304f\u3060\u3055\u3044\u3002<\/p>\n\n\n<div class=\"swell-block-postLink\">\t\t\t<div class=\"p-blogCard -internal\" data-type=\"type1\" data-onclick=\"clickLink\">\n\t\t\t\t<div class=\"p-blogCard__inner\">\n\t\t\t\t\t<span class=\"p-blogCard__caption\">\u3042\u308f\u305b\u3066\u8aad\u307f\u305f\u3044<\/span>\n\t\t\t\t\t<div class=\"p-blogCard__thumb c-postThumb\"><figure class=\"c-postThumb__figure\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/cg-method.com\/google\/wp-content\/uploads\/2026\/09\/google-apps-matome-3-300x169.jpg\" alt=\"\" class=\"c-postThumb__img u-obf-cover\" width=\"320\" height=\"180\"><\/figure><\/div>\t\t\t\t\t<div class=\"p-blogCard__body\">\n\t\t\t\t\t\t<a class=\"p-blogCard__title\" href=\"https:\/\/cg-method.com\/google\/google-apps-matome\/\">Google\u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u30fb\u30c9\u30e9\u30a4\u30d6\u306e\u4f7f\u3044\u65b9\u307e\u3068\u3081\uff5c\u95a2\u6570\u3068GAS<\/a>\n\t\t\t\t\t\t<span class=\"p-blogCard__excerpt\">Google\u306e\u64cd\u4f5c\u3092\u300c\u4f55\u3092\u3057\u305f\u3044\u304b\u300d\u304b\u3089\u63a2\u305b\u308b\u30ac\u30a4\u30c9\u3067\u3059\u3002 \u307e\u305a\u6a19\u6e96\u306e\u753b\u9762\u64cd\u4f5c\u3084\u95a2\u6570\u3067\u89e3\u6c7a\u3067\u304d\u308b\u304b\u3092\u78ba\u8a8d\u3057\u3001\u7e70\u308a\u8fd4\u3059\u51e6\u7406\u306bGAS\u3092\u4f7f\u3044\u307e\u3059\u3002 \u76ee\u7684\u304b\u3089\u624b\u9806\u3092\u9078\u3076 \u3084\u308a\u305f&#8230;<\/span>\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-js\" data-lang=\"JavaScript\"><code>\/************************************************\n * \u30b7\u30fc\u30c82\uff08\u30de\u30b9\u30bf\uff09 \u2192 \u30b7\u30fc\u30c81\uff08\u53cd\u6620\u5148\uff09\n * A\u301cC\u5217\u3092\u300c\u8907\u5408\u30ad\u30fc\u300d\u306b\u3057\u3066\u884c\u3092\u540c\u671f\uff06\u4e26\u3073\u66ff\u3048\u3059\u308b\u30b9\u30af\u30ea\u30d7\u30c8\n *\n * \u524d\u63d0\uff1a\n *  - \u30b7\u30fc\u30c81 \u2026 \u60c5\u5831\u3092\u52a0\u7b46\u3059\u308b\u5074\uff08D\u5217\u4ee5\u964d\u306b\u8ffd\u8a18\u3057\u3066OK\uff09\n *  - \u30b7\u30fc\u30c82 \u2026 \u53d6\u5f97\u30fb\u66f4\u65b0\u3057\u305f\u300c\u6700\u65b0\u60c5\u5831\u300d\u306e\u30b7\u30fc\u30c8\n *\n * \u4ed5\u69d8\uff1a\n *  - \u30ad\u30fc       \uff1aA\u301cC\u5217\uff08keyColumns\uff09\n *  - \u540c\u671f\u5bfe\u8c61   \uff1aA\u301cC\u5217\uff08syncColumns\uff09\n *  - \u884c\u306e\u9806\u756a   \uff1a\u30b7\u30fc\u30c82\u306e\u884c\u9806\u306b\u30b7\u30fc\u30c81\u3092\u4e26\u3073\u66ff\u3048\n *  - D\u5217\u4ee5\u964d   \uff1a\u30ad\u30fc\u306b\u7d10\u3065\u3044\u3066\u305d\u306e\u307e\u307e\u5f15\u304d\u7d99\u3050\n *  - \u30de\u30b9\u30bf\u306b\u7121\u3044\u884c\uff1a\u30b7\u30fc\u30c81\u304b\u3089\u524a\u9664\uff08\u4f59\u308a\u306e\u884c\u306f\u30af\u30ea\u30a2\uff09\n ************************************************\/\nfunction syncSheetsByKeyAndOrder() {\n  \/** \u8a2d\u5b9a\u5024\uff08\u30b7\u30fc\u30c8\u540d\u30fb\u30ad\u30fc\u5217\u306a\u3069\uff09 *\/\n  const CONFIG = {\n    masterSheetName: &#39;\u30b7\u30fc\u30c82&#39;, \/\/ \u30de\u30b9\u30bf\u5074\u30b7\u30fc\u30c8\u540d\uff08\u6700\u65b0\u30c7\u30fc\u30bf\uff09\n    targetSheetName: &#39;\u30b7\u30fc\u30c81&#39;, \/\/ \u53cd\u6620\u5148\u30b7\u30fc\u30c8\u540d\uff08\u52a0\u7b46\u3042\u308a\uff09\n    keyColumns: [1, 2, 3],     \/\/ \u2605\u30ad\u30fc\u306b\u4f7f\u3046\u5217\uff08A,B,C\u5217\uff09\n    syncColumns: [1, 2, 3],    \/\/ \u30de\u30b9\u30bf\u304b\u3089\u540c\u671f\u3057\u305f\u3044\u5217\uff08A,B,C\u5217\uff09\n    hasHeader: true            \/\/ 1\u884c\u76ee\u304c\u30d8\u30c3\u30c0\u30fc\u884c\u306a\u3089 true\n  };\n\n  const ss = SpreadsheetApp.getActiveSpreadsheet();\n  const masterSheet = ss.getSheetByName(CONFIG.masterSheetName);\n  const targetSheet = ss.getSheetByName(CONFIG.targetSheetName);\n\n  if (!masterSheet || !targetSheet) {\n    throw new Error(&#39;\u8a2d\u5b9a\u3055\u308c\u305f\u30b7\u30fc\u30c8\u540d\u304c\u5b58\u5728\u3057\u307e\u305b\u3093\u3002CONFIG.masterSheetName \/ targetSheetName \u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002&#39;);\n  }\n\n  \/\/ \u30c7\u30fc\u30bf\u958b\u59cb\u884c\uff08\u30d8\u30c3\u30c0\u30fc\u3042\u308a\u306a\u30892\u884c\u76ee\u3001\u306a\u3057\u306a\u30891\u884c\u76ee\uff09\n  const startRow = CONFIG.hasHeader ? 2 : 1;\n\n  \/***********************\n   * \u2460 \u30de\u30b9\u30bf\u5074\uff08\u30b7\u30fc\u30c82\uff09\u306e\u8aad\u8fbc\n   ***********************\/\n  const masterValues = getSheetValues(\n    masterSheet,\n    startRow,\n    Math.max(...CONFIG.syncColumns) \/\/ \u540c\u671f\u5bfe\u8c61\u306e\u6700\u5927\u5217\u307e\u3067\u53d6\u5f97\uff08A\u301cC\uff09\n  );\n\n  \/\/ \u30de\u30b9\u30bf\u306b1\u884c\u3082\u30c7\u30fc\u30bf\u304c\u306a\u3051\u308c\u3070\u4f55\u3082\u3057\u306a\u3044\n  if (masterValues.length === 0) return;\n\n  \/***********************\n   * \u2461 \u53cd\u6620\u5148\uff08\u30b7\u30fc\u30c81\uff09\u306e\u8aad\u8fbc\n   ***********************\/\n  const targetLastCol = targetSheet.getLastColumn(); \/\/ D\u5217\u4ee5\u964d\u3082\u542b\u3081\u305f\u6700\u7d42\u5217\n  const targetValues = getSheetValues(\n    targetSheet,\n    startRow,\n    targetLastCol\n  );\n\n  \/***********************\n   * \u2462 \u53cd\u6620\u5148\u3092\u300c\u8907\u5408\u30ad\u30fc \u2192 \u884c\u30c7\u30fc\u30bf\u300d\u306e\u30de\u30c3\u30d7\u306b\u5909\u63db\n   *    \u4f8b\uff09&quot;AAA1|BBB1|CCC1&quot; \u2192 [AAA1, BBB1, CCC1, \u308a\u3093\u3054, ...]\n   ***********************\/\n  const targetMap = buildKeyRowMapByColumns(\n    targetValues,\n    CONFIG.keyColumns\n  );\n\n  \/***********************\n   * \u2463 \u30de\u30b9\u30bf\u306e\u884c\u9806\u3067\u300c\u65b0\u3057\u3044\u30b7\u30fc\u30c81\u306e\u884c\u914d\u5217\u300d\u3092\u7d44\u307f\u7acb\u3066\n   *    - \u65e2\u5b58\u884c\u304c\u3042\u308c\u3070\u305d\u306e\u884c\u3092\u30d9\u30fc\u30b9\u306b\uff08D\u5217\u4ee5\u964d\u3092\u7dad\u6301\uff09\n   *    - \u540c\u671f\u5217\uff08A\u301cC\uff09\u306f\u30de\u30b9\u30bf\u306e\u5024\u3067\u4e0a\u66f8\u304d\n   ***********************\/\n  const newTargetValues = masterValues.map(masterRow =&gt; {\n    \/\/ \u30de\u30b9\u30bf\u5074\u306e\u884c\u304b\u3089\u8907\u5408\u30ad\u30fc\u3092\u751f\u6210\uff08A+B+C\uff09\n    const key = createCompositeKey(masterRow, CONFIG.keyColumns);\n    \/\/ \u53cd\u6620\u5148\u306b\u65e2\u306b\u540c\u3058\u30ad\u30fc\u306e\u884c\u304c\u3042\u308c\u3070\u3001\u305d\u308c\u3092\u30d9\u30fc\u30b9\u306b\u3059\u308b\n    const existingRow = targetMap[key] || null;\n\n    return buildMergedRow({\n      masterRow,\n      existingRow,\n      targetLastCol,\n      syncColumns: CONFIG.syncColumns\n    });\n  });\n\n  \/***********************\n   * \u2464 \u30b7\u30fc\u30c81\u3078\u66f8\u304d\u623b\u3057\uff06\u4f59\u5206\u306a\u53e4\u3044\u884c\u3092\u30af\u30ea\u30a2\n   ***********************\/\n  writeBackValues(targetSheet, startRow, targetLastCol, newTargetValues);\n}\n\n\/* ==========================================================\n * \u5171\u901a\u30d8\u30eb\u30d1\u30fc\u95a2\u6570\u7fa4\n * ==========================================================*\/\n\n\/**\n * \u6307\u5b9a\u30b7\u30fc\u30c8\u304b\u3089\u300cstartRow\u301c\u6700\u7d42\u884c\u300d\u307e\u3067\u3092\u53d6\u5f97\u3059\u308b\u30d8\u30eb\u30d1\u30fc\n *\n * @param {Sheet} sheet     \u5bfe\u8c61\u30b7\u30fc\u30c8\n * @param {number} startRow \u30c7\u30fc\u30bf\u958b\u59cb\u884c\n * @param {number} lastCol  \u53d6\u5f97\u3057\u305f\u3044\u6700\u7d42\u5217\u756a\u53f7\n * @return {any[][]}        2\u6b21\u5143\u914d\u5217\u306e\u30b7\u30fc\u30c8\u30c7\u30fc\u30bf\n *\/\nfunction getSheetValues(sheet, startRow, lastCol) {\n  const lastRow = sheet.getLastRow();\n  if (lastRow &lt; startRow) return []; \/\/ \u30c7\u30fc\u30bf\u306a\u3057\n\n  const numRows = lastRow - startRow + 1;\n  return sheet.getRange(startRow, 1, numRows, lastCol).getValues();\n}\n\n\/**\n * 1\u884c\u306e\u30c7\u30fc\u30bf\u304b\u3089\u300c\u8907\u5408\u30ad\u30fc\u6587\u5b57\u5217\u300d\u3092\u4f5c\u6210\u3059\u308b\n * \u4f8b\uff1akeyColumns=[1,2,3] \u306e\u5834\u5408\n *   A=AAA1, B=BBB1, C=CCC1 \u2192 &quot;AAA1|BBB1|CCC1&quot;\n *\n * @param {any[]} row           1\u884c\u5206\u306e\u914d\u5217\n * @param {number[]} keyColumns \u30ad\u30fc\u306b\u4f7f\u3046\u5217\u756a\u53f7\u914d\u5217\n * @return {string}             \u8907\u5408\u30ad\u30fc\u6587\u5b57\u5217\uff08\u5168\u3066\u7a7a\u306a\u3089 &quot;&quot;\uff09\n *\/\nfunction createCompositeKey(row, keyColumns) {\n  const parts = keyColumns.map(colIndex =&gt; {\n    const value = row[colIndex - 1];\n    return value === undefined || value === null ? &#39;&#39; : String(value);\n  });\n\n  \/\/ \u3059\u3079\u3066\u7a7a\u306a\u3089\u30ad\u30fc\u306a\u3057\u3068\u3057\u3066\u6271\u3046\n  const allEmpty = parts.every(v =&gt; v === &#39;&#39;);\n  return allEmpty ? &#39;&#39; : parts.join(&#39;|&#39;); \/\/ \u533a\u5207\u308a\u6587\u5b57\u306f\u4efb\u610f\uff08\u3053\u3053\u3067\u306f &quot;|&quot;\uff09\n}\n\n\/**\n * \u30b7\u30fc\u30c8\u5168\u4f53\u306e\u5024\u304b\u3089\u300c\u8907\u5408\u30ad\u30fc \u2192 \u884c\u30c7\u30fc\u30bf\u300d\u306e\u30de\u30c3\u30d7\u3092\u4f5c\u6210\u3059\u308b\n *\n * @param {any[][]} values      \u30b7\u30fc\u30c8\u306e2\u6b21\u5143\u914d\u5217\u30c7\u30fc\u30bf\n * @param {number[]} keyColumns \u30ad\u30fc\u306b\u4f7f\u3046\u5217\u756a\u53f7\u914d\u5217\n * @return {Object.&lt;string, any[]&gt;} key \u2192 \u884c\u30c7\u30fc\u30bf \u306e\u30de\u30c3\u30d7\n *\/\nfunction buildKeyRowMapByColumns(values, keyColumns) {\n  const map = {};\n\n  values.forEach(row =&gt; {\n    const key = createCompositeKey(row, keyColumns);\n    if (key) {\n      \/\/ \u540c\u3058\u30ad\u30fc\u304c\u8907\u6570\u3042\u308b\u5834\u5408\u306f\u300c\u6700\u5f8c\u306b\u51fa\u3066\u304d\u305f\u884c\u300d\u304c\u512a\u5148\u3055\u308c\u308b\n      map[key] = row;\n    }\n  });\n\n  return map;\n}\n\n\/**\n * \u30de\u30b9\u30bf\u884c\u3068\u65e2\u5b58\u884c\u3092\u30de\u30fc\u30b8\u3057\u3066\u300c\u65b0\u3057\u30441\u884c\u5206\u306e\u914d\u5217\u300d\u3092\u4f5c\u6210\u3059\u308b\n *\n * \u30eb\u30fc\u30eb\uff1a\n *  - existingRow \u304c\u3042\u308c\u3070\u305d\u308c\u3092\u30d9\u30fc\u30b9\u306b\u3059\u308b\uff08D\u5217\u4ee5\u964d\u3092\u7dad\u6301\uff09\n *  - existingRow \u304c\u306a\u3051\u308c\u3070\u7a7a\u884c\u3092\u4f5c\u308b\n *  - syncColumns\uff08\u4f8b\uff1aA\u301cC\uff09\u306f masterRow \u306e\u5024\u3067\u4e0a\u66f8\u304d\n *\n * @param {Object} params\n * @param {any[]} params.masterRow    \u30de\u30b9\u30bf\u5074\u306e1\u884c\uff08A\u301cC\u307e\u3067\uff09\n * @param {any[]|null} params.existingRow \u65e2\u5b58\u306e1\u884c\uff08D\u4ee5\u964d\u306e\u60c5\u5831\u4ed8\u304d\uff09\u306a\u3051\u308c\u3070 null\n * @param {number} params.targetLastCol   \u53cd\u6620\u5148\u306e\u6700\u7d42\u5217\u756a\u53f7\n * @param {number[]} params.syncColumns   \u540c\u671f\u5bfe\u8c61\u5217\u756a\u53f7\u306e\u914d\u5217\n * @return {any[]}                        \u65b0\u3057\u30441\u884c\u5206\u306e\u914d\u5217\n *\/\nfunction buildMergedRow({ masterRow, existingRow, targetLastCol, syncColumns }) {\n  \/\/ \u65e2\u5b58\u884c\u304c\u3042\u308c\u3070\u305d\u308c\u3092\u30b3\u30d4\u30fc\uff08D\u5217\u4ee5\u964d\u3082\u305d\u306e\u307e\u307e\u5f15\u304d\u7d99\u3050\uff09\n  \/\/ \u7121\u3051\u308c\u3070\u3001\u5168\u5217\u7a7a\u6587\u5b57\u306e\u65b0\u898f\u884c\u3092\u4f5c\u308b\n  const row = existingRow\n    ? existingRow.slice()\n    : new Array(targetLastCol).fill(&#39;&#39;);\n\n  \/\/ A\u301cC\u5217\u306a\u3069\u3001\u540c\u671f\u5bfe\u8c61\u306e\u5217\u306f\u30de\u30b9\u30bf\u306e\u5024\u3067\u4e0a\u66f8\u304d\n  syncColumns.forEach(colIndex =&gt; {\n    row[colIndex - 1] = masterRow[colIndex - 1];\n  });\n\n  return row;\n}\n\n\/**\n * \u65b0\u3057\u3044\u914d\u5217\u30c7\u30fc\u30bf\u3092\u30b7\u30fc\u30c8\u306b\u66f8\u304d\u623b\u3057\u3001\n * \u4ee5\u524d\u3088\u308a\u884c\u6570\u304c\u5c11\u306a\u3044\u5834\u5408\u306f\u4f59\u5206\u306a\u884c\u3092\u30af\u30ea\u30a2\u3059\u308b\u3002\n *\n * @param {Sheet} sheet   \u66f8\u304d\u8fbc\u307f\u5bfe\u8c61\u30b7\u30fc\u30c8\n * @param {number} startRow \u30c7\u30fc\u30bf\u958b\u59cb\u884c\n * @param {number} lastCol  \u6700\u7d42\u5217\u756a\u53f7\n * @param {any[][]} values  \u65b0\u3057\u30442\u6b21\u5143\u914d\u5217\u30c7\u30fc\u30bf\n *\/\nfunction writeBackValues(sheet, startRow, lastCol, values) {\n  if (values.length === 0) return;\n\n  const lastRowBefore = sheet.getLastRow();\n\n  \/\/ \u65b0\u3057\u3044\u30c7\u30fc\u30bf\u3092\u66f8\u304d\u8fbc\u307f\uff08\u30d8\u30c3\u30c0\u30fc\u4e0b\u304b\u3089 values.length \u884c\u3076\u3093\uff09\n  const range = sheet.getRange(startRow, 1, values.length, lastCol);\n  range.setValues(values);\n\n  \/\/ \u4ee5\u524d\u306e\u30c7\u30fc\u30bf\u884c\u6570\u3092\u8a08\u7b97\u3057\u3001\u591a\u304b\u3063\u305f\u5206\u3060\u3051\u4e0b\u5074\u3092\u30af\u30ea\u30a2\n  const oldDataRows = lastRowBefore &gt;= startRow\n    ? (lastRowBefore - startRow + 1)\n    : 0;\n\n  if (oldDataRows &gt; values.length) {\n    const extraRows = oldDataRows - values.length;\n    const clearStartRow = startRow + values.length;\n    sheet.getRange(clearStartRow, 1, extraRows, lastCol).clearContent();\n  }\n}\n<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u30b7\u30fc\u30c8\u9593\u306e\u81ea\u52d5\u540c\u671f\u51e6\u7406\u306e\u5b9f\u88c5\u624b\u9806\u306f\u4ee5\u4e0a\u3067\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u30ad\u30fc\u306b\u3088\u308b\u884c\u8b58\u5225\u3092\u53d6\u308a\u5165\u308c\u308b\u3053\u3068\u3067\u3001\u30c7\u30fc\u30bf\u66f4\u65b0\u3068\u624b\u52d5\u5165\u529b\u306e\u5171\u5b58\u304c\u5b89\u5b9a\u3057\u3066\u884c\u3048\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u306e\u8a18\u4e8b\u3067\u7d39\u4ecb\u3057\u3066\u3044\u308b\u30b3\u30fc\u30c9\u306f\u3001GitHub\u306e<a href=\"https:\/\/github.com\/MOTOKI-LLC\/cg-method-code\/tree\/main\/google\/sheets-gas-sync-multi-key-rows\">MOTOKI-LLC\/cg-method-code<\/a>\u306b\u3082\u307e\u3068\u3081\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n<!-- cgm-topic:start -->\n\n\n<p class=\"wp-block-paragraph\">GAS\u3067\u30b7\u30fc\u30c8\u3092\u64cd\u4f5c\u3059\u308b\u8a18\u4e8b\u306f\u3001\u307b\u304b\u306b\u3082\u3042\u308a\u307e\u3059\u3002<\/p>\n\n\n<div class=\"swell-block-postLink\">\t\t\t<div class=\"p-blogCard -internal\" data-type=\"type1\" data-onclick=\"clickLink\">\n\t\t\t\t<div class=\"p-blogCard__inner\">\n\t\t\t\t\t<span class=\"p-blogCard__caption\">\u3042\u308f\u305b\u3066\u8aad\u307f\u305f\u3044<\/span>\n\t\t\t\t\t<div class=\"p-blogCard__thumb c-postThumb\"><figure class=\"c-postThumb__figure\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/06\/gas-google-sheets-hierarchy-visualization-300x169.jpg\" alt=\"\" class=\"c-postThumb__img u-obf-cover\" width=\"320\" height=\"180\"><\/figure><\/div>\t\t\t\t\t<div class=\"p-blogCard__body\">\n\t\t\t\t\t\t<a class=\"p-blogCard__title\" href=\"https:\/\/cg-method.com\/google\/spreadsheet-hierarchy-visualization\/\">Google\u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u2502\u7d44\u7e54\u56f3\u3084UI\u69cb\u9020\u306e\u60c5\u5831\u3092\u30d3\u30b8\u30e5\u30a2\u30eb\u5316\uff01\u968e\u5c64\u8868\u793a\u3059\u308b\u65b9\u6cd5<\/a>\n\t\t\t\t\t\t<span class=\"p-blogCard__excerpt\">\u3053\u306e\u8a18\u4e8b\u3067\u306f\u3001Google\u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u3067\u7ba1\u7406\u3057\u3066\u3044\u308b\u968e\u5c64\u30c7\u30fc\u30bf\u3092\u3001D3.js\u3092\u4f7f\u3063\u3066\u30d6\u30e9\u30a6\u30b6\u4e0a\u306b\u30c4\u30ea\u30fc\u69cb\u9020\u3067\u53ef\u8996\u5316\u3059\u308b\u65b9\u6cd5\u3092\u89e3\u8aac\u3057\u307e\u3059\u3002 \u8868\u793a\u30a4\u30e1\u30fc\u30b8 \u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc&#8230;<\/span>\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\n<div class=\"swell-block-postLink\">\t\t\t<div class=\"p-blogCard -internal\" data-type=\"type1\" data-onclick=\"clickLink\">\n\t\t\t\t<div class=\"p-blogCard__inner\">\n\t\t\t\t\t<span class=\"p-blogCard__caption\">\u3042\u308f\u305b\u3066\u8aad\u307f\u305f\u3044<\/span>\n\t\t\t\t\t<div class=\"p-blogCard__thumb c-postThumb\"><figure class=\"c-postThumb__figure\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/cg-method.com\/google\/wp-content\/uploads\/2026\/01\/google-sheets-delete-sheets-300x169.jpg\" alt=\"\" class=\"c-postThumb__img u-obf-cover\" width=\"320\" height=\"180\"><\/figure><\/div>\t\t\t\t\t<div class=\"p-blogCard__body\">\n\t\t\t\t\t\t<a class=\"p-blogCard__title\" href=\"https:\/\/cg-method.com\/google\/google-sheets-delete-sheets\/\">Google\u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u2502\u4e0d\u8981\u306a\u30b7\u30fc\u30c8\u3092\u4e00\u62ec\u524a\u9664\u3059\u308b\u65b9\u6cd5<\/a>\n\t\t\t\t\t\t<span class=\"p-blogCard__excerpt\">\u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u306e\u30b7\u30fc\u30c8\u6570\u304c\u5897\u3048\u308b\u3068\u3001\u4e0d\u8981\u306a\u30b7\u30fc\u30c8\u30921\u3064\u305a\u3064\u624b\u4f5c\u696d\u3067\u524a\u9664\u3059\u308b\u306e\u306f\u624b\u9593\u304c\u304b\u304b\u308a\u307e\u3059\u3002 \u679a\u6570\u304c\u591a\u3044\u3068\u304d\u306f\u3001\u6b8b\u3057\u305f\u3044\u30b7\u30fc\u30c8\u3060\u3051\u3092\u6307\u5b9a\u3057\u3066Google Apps S&#8230;<\/span>\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\n<div class=\"swell-block-postLink\">\t\t\t<div class=\"p-blogCard -internal\" data-type=\"type1\" data-onclick=\"clickLink\">\n\t\t\t\t<div class=\"p-blogCard__inner\">\n\t\t\t\t\t<span class=\"p-blogCard__caption\">\u3042\u308f\u305b\u3066\u8aad\u307f\u305f\u3044<\/span>\n\t\t\t\t\t<div class=\"p-blogCard__thumb c-postThumb\"><figure class=\"c-postThumb__figure\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/05\/spreadsheet-sheet-index-menu-300x169.jpg\" alt=\"\" class=\"c-postThumb__img u-obf-cover\" width=\"320\" height=\"180\"><\/figure><\/div>\t\t\t\t\t<div class=\"p-blogCard__body\">\n\t\t\t\t\t\t<a class=\"p-blogCard__title\" href=\"https:\/\/cg-method.com\/google\/spreadsheet-sheet-index-menu\/\">Google\u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u2502\u5927\u91cf\u30b7\u30fc\u30c8\u3092\u4e00\u767a\u9078\u629e\uff01\u4fbf\u5229\u30e1\u30cb\u30e5\u30fc\u3067\u30b7\u30fc\u30c8\u4e00\u89a7\u3092\u8868\u793a\u3057\u3066\u79fb\u52d5\u3059\u308b\u30b9\u30af\u30ea\u30d7\u30c8<\/a>\n\t\t\t\t\t\t<span class=\"p-blogCard__excerpt\">Google\u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u3067\u30b7\u30fc\u30c8\u6570\u304c\u5897\u3048\u308b\u3068\u3001\u76ee\u7684\u306e\u30b7\u30fc\u30c8\u3092\u63a2\u3059\u306e\u306b\u624b\u9593\u304c\u304b\u304b\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002 \u4e0b\u90e8\u306e\u5de6\u53f3\u77e2\u5370\u3067\u30b9\u30af\u30ed\u30fc\u30eb\u3057\u305f\u308a\u4e00\u89a7\u304b\u3089\u63a2\u3057\u305f\u308a\u3059\u308b\u64cd\u4f5c\u3092\u7169\u308f&#8230;<\/span>\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\n<div class=\"swell-block-postLink\">\t\t\t<div class=\"p-blogCard -internal\" data-type=\"type1\" data-onclick=\"clickLink\">\n\t\t\t\t<div class=\"p-blogCard__inner\">\n\t\t\t\t\t<span class=\"p-blogCard__caption\">\u3042\u308f\u305b\u3066\u8aad\u307f\u305f\u3044<\/span>\n\t\t\t\t\t<div class=\"p-blogCard__thumb c-postThumb\"><figure class=\"c-postThumb__figure\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/05\/google-sheets-auto-copy-with-date-300x169.jpg\" alt=\"\" class=\"c-postThumb__img u-obf-cover\" width=\"320\" height=\"180\"><\/figure><\/div>\t\t\t\t\t<div class=\"p-blogCard__body\">\n\t\t\t\t\t\t<a class=\"p-blogCard__title\" href=\"https:\/\/cg-method.com\/google\/google-sheets-auto-copy-with-date\/\">Google\u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u2502\u81ea\u52d5\u3067\u65e5\u4ed8\u5165\u308a\uff01\u8907\u88fd\u30b7\u30fc\u30c8\u3092\u4f5c\u6210\u3059\u308b\u65b9\u6cd5<\/a>\n\t\t\t\t\t\t<span class=\"p-blogCard__excerpt\">master\u30b7\u30fc\u30c8\u304b\u3089\u6708\u3054\u3068\u306e\u30b7\u30fc\u30c8\u3092\u8907\u88fd\u3057\u307e\u3059\u3002 \u5e74\u6708\u306f\u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u306e\u30bf\u30a4\u30e0\u30be\u30fc\u30f3\u3067\u6c7a\u3081\u3001\u540c\u3058\u5e74\u6708\u540d\u306e\u30b7\u30fc\u30c8\u304c\u3042\u308c\u3070\u4e0a\u66f8\u304d\u305b\u305a\u306b\u7d42\u4e86\u3057\u307e\u3059\u3002 \u7df4\u7fd2\u30b3\u30fc\u30c9\u30fb\u5165\u529bJ&#8230;<\/span>\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\n<!-- cgm-topic:end -->\n\n\n\n","protected":false},"excerpt":{"rendered":"<p>\u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u306e\u30c7\u30fc\u30bf\u3092\u53d6\u5f97\u3057\u3001\u5f8c\u308d\u306e\u5217\u306b\u5099\u8003\u306a\u3069\u306e\u8ffd\u8a18\u60c5\u5831\u3092\u7ba1\u7406\u3059\u308b\u3053\u3068\u304c\u3042\u308a\u307e\u3059\u3002 \u5143\u30c7\u30fc\u30bf\u306e\u884c\u304c\u8ffd\u52a0\u3084\u524a\u9664\u306b\u3088\u3063\u3066\u5909\u52d5\u3059\u308b\u3068\u3001\u624b\u4f5c\u696d\u3067\u8ffd\u8a18\u3057\u305f\u5099\u8003\u306a\u3069\u306e\u5217\u60c5\u5831\u3068\u4f4d\u7f6e\u304c\u305a\u308c\u3066\u3057\u307e\u3044\u307e\u3059\u3002 \u305d\u3053\u3067\u3001\u884c\u306e\u5897\u6e1b\u304c\u3042\u3063\u3066\u3082 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":22985,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"swell_btn_cv_data":"","book_review_data":"","footnotes":"","ssp_meta_title":"\u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u5225\u30b7\u30fc\u30c8\u81ea\u52d5\u53cd\u6620GAS\uff01\u5099\u8003\u304c\u305a\u308c\u306a\u3044\u5dee\u5206\u540c\u671f","ssp_meta_description":"\u884c\u306e\u8ffd\u52a0\u3084\u524a\u9664\u304c\u3042\u3063\u3066\u3082\u624b\u5165\u529b\u3057\u305f\u5099\u8003\u6b04\u306e\u30ba\u30ec\u3092\u9632\u304e\u30012\u3064\u306e\u30b7\u30fc\u30c8\u3092\u5dee\u5206\u540c\u671f\u3059\u308b\u5168213\u884c\u306eGAS\u30b3\u30fc\u30c9\u3092\u63b2\u8f09\u3002A\u301cC\u5217\u306e\u8907\u5408\u30ad\u30fc\u3067\u5143\u30c7\u30fc\u30bf\u3068\u8ffd\u52a0\u60c5\u5831\u3092\u6b63\u3057\u304f\u7d10\u3065\u3051\u3066\u81ea\u52d5\u53cd\u6620\u3055\u305b\u308b\u4ed5\u7d44\u307f\u3084\u51e6\u7406\u306e\u6d41\u308c\u3092\u89e3\u8aac\u3057\u307e\u3059\u3002"},"categories":[17],"tags":[],"class_list":["post-22980","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-spreadsheets"],"_links":{"self":[{"href":"https:\/\/cg-method.com\/google\/wp-json\/wp\/v2\/posts\/22980","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cg-method.com\/google\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cg-method.com\/google\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cg-method.com\/google\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cg-method.com\/google\/wp-json\/wp\/v2\/comments?post=22980"}],"version-history":[{"count":9,"href":"https:\/\/cg-method.com\/google\/wp-json\/wp\/v2\/posts\/22980\/revisions"}],"predecessor-version":[{"id":23426,"href":"https:\/\/cg-method.com\/google\/wp-json\/wp\/v2\/posts\/22980\/revisions\/23426"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cg-method.com\/google\/wp-json\/wp\/v2\/media\/22985"}],"wp:attachment":[{"href":"https:\/\/cg-method.com\/google\/wp-json\/wp\/v2\/media?parent=22980"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cg-method.com\/google\/wp-json\/wp\/v2\/categories?post=22980"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cg-method.com\/google\/wp-json\/wp\/v2\/tags?post=22980"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}