メインコンテンツへスキップ
見出し画像

表の歯抜け部分を直上の文字列で埋める

    カテゴリー情報を含む表を作ると、こんな感じになることがあります。

    画像

    今回は、その歯抜け部分を数式で埋めて、次のように変換する方法です。

    画像


    直上で文字列が入っている行を求めて、その行の文字列を参照

    • 次の数式を組み合わせて処理できる

      • 行番号を求める数式:「row()」

      • 非空白セルをリストアップする数式:「filter()」「isblank()」など

      • 最大値を求める数式:「max()」
        (複数の行番号に対して用いれば、最下行を探すことになる)

      • 指定した行の文字列を参照する数式:「index()」

    画像
    • 各行で上記の数式を実行するため、「byrow()」も使って以下のようになる
      (※「range」や「data」は、私が勝手に作った変数です。
       それぞれ黄色の範囲を指しており、別名に代えてもOKです。)

    =lambda(range,byrow(range,lambda(data,index(range,max(filter(row(index(range,1):data),not(isblank(index(range,1):data))))-row(range)+1))))([黄色の範囲])
    • すると、次のような感じに変換できる

    画像



    以上のことを用いれば、次のような表ができあがります。
    機会があれば、せひ活用していきましょう!

    画像


     
     
    品格が一級ではない一級建築士・技術士(建設部門) 何かと「それ数式で出来ますよ」と言いたくなるタイプ (重度のGoogleスプレッドシート依存症)

    あなたへのおすすめ