spreadsheetの配列 1
閉じる
閉じる

新しい記事を投稿しました。シェアして読者に伝えましょう

×

spreadsheetの配列 1

2019-10-22 00:38
    ※ この記事はgooglespreadsheetに関してです

    spreadseatを書く場合どのようなことを気を付けるでしょうか。
    使用する関数の面から考えると制作コスト、メンテコスト、可読性の3つがあげられると思います。
    これから紹介する配列をうまく使うと前者2つは間違いなく以前より優れたものになるでしょう。3つ目に関しては、配列というものを知らない人にとっては何をしているか分からない可能性があるので間違いなく上がるとは断言できません。しかし、知っている人にとっては上がるでしょう。人に見せるか否かに関わらず、自分で振り返ることも間違いなくあるので可読性を上げておくことに損はないと思います。

    前書きはこの辺で。
     

    まず基本事項から。

    配列の基本記号は "{}" "," ";"  以上の3種です。
    {} この記号は各関数で参照先を配列にするときに使います
    , この記号は{}内で改列を意味します
    ; この記号は{}内で改行を意味します


    以上を前提にしたとき次のような場合を考えてみます。

    74式から装備図鑑をデータ用でCSV出力したものをあるシートに展開します。このデータ内から必要な列(装備名,火力,雷装,爆装)のみを取り出して一覧にしたいとします。
    装備名はC、火力はI、雷装はJ、爆装はRです。(本来であれば列の前でシートを指定しますが今回は省略します)

    もちろん、それぞれの列からイコールでセルをリンクして値を持ってくるという方法もありますが、これは制作コスト、メンテコスト、可読性のどの面でも優れているとは言えません。
    もちろん配列に関しての記事なので配列を使います。配列を使わないquery関数というもので同様のことを行うこともできます。

    おそらく最もオーソドックスな方法はこれだと思います。
    =arrayformula({C:C,I:I,J:J,R:R})

    もちろん他にも方法はあります。arrayformulaなんて知らないという人もこの方法を使えば同じことをすることができます。
    =transpose(transpose({C:C,I:I,J:J,R:R}))

    ちなみにquery関数を使うとこうなります。
    =query(A:AA,"select C,I,J,R") //A:AAで装備データが入力されたシート全体を指定

    他にもコピペしたりunique関数を使用したり等方法はありますが今回は配列について知ってもらいたいので1番上の方法を覚えもらえれば幸いです。

    広告
    コメントを書く
    コメントをするには、
    ログインして下さい。