プロが教えるわが家の防犯対策術!

左の表から 右の表を関数を使って自動で作成したいです
毎年使いたいので、関数でと考えています

2つのグループの間には隙間なく組ませたいです。
よろしくお願いいたします。

マクロとか使い方はわかりません。

「指定した複数のグループを表示したい」の質問画像

質問者からの補足コメント

  • 回答いただきありがとうございます。
    スピル機能は使えませんでした。
    数式を入れても数式がそのまま出てきて機能しませんでした。
    =VSTACK(IFERROR(FILTER(CHOOSECOLS(2:10,MATCH(G2,1:1,0)),CHOOSECOLS(2:10,MATCH(G2,1:1,0))<>"",""),""),IFERROR(FILTER(CHOOSECOLS(2:10,MATCH(G3,1:1,0)),CHOOSECOLS(2:10,MATCH(G3,1:1,0))<>"",""),""))

    No.1の回答に寄せられた補足コメントです。 補足日時:2023/08/04 07:04
  • うーん・・・

    ご回答いただきありがとうございます。

    添付画像の表A2~E8の範囲に「表」という名前を付けます。
    これはテーブルという機能を使うということでしょうか?やり方がわかりません
    とりあえず
    A2〜E8に名前をつけて
    G4セルに数式入れましたがなりませんでした

    ご指導お願いします。

    あと1点
    2組ではなく3組組み合わせだとどんな数式になりますか?
    宜しくお願い致します。

      補足日時:2023/08/07 20:52

A 回答 (3件)

添付画像をごらんください。


ご質問者が掲出された画像左側のような表があったとします。
ご質問者は
>2つのグループの間には隙間なく組ませたいです。
と仰っているので、2つのグループを組み合わせるものとし、それ以上(例えば3つのグループ)を組み合わせることはないものとします。
このため、G2~I3セルに組み合わせる番号を入力するものとしますが、ご質問者の掲出された画像のように、「2行目に入力あり、3行目が空欄」という指定方法はOKですが「2行目が空欄で、3行目に入力あり」という指定方法はNGとします。
添付画像の表A2~E8の範囲に「表」という名前を付けます。
その上で、G4セルに

=IFERROR(IFERROR(INDEX(表,IF(ROW(A1)<=COUNTA(INDEX(表,,G$2)),ROW(A1),-1),G$2),INDEX(表,IF(ROW(A1)-COUNTA(INDEX(表,,G$2))<=COUNTA(INDEX(表,,G$3)),ROW(A1)-COUNTA(INDEX(表,,G$2)),""),G$3)),"")

という数式を記述し、右方向、下方向へコピーしています。
すると画像右側の表が作成されます。
「指定した複数のグループを表示したい」の回答画像2
    • good
    • 0
この回答へのお礼

名前の付け方わかりました!数式のところにありました!
これで思い通りのものが出来そうです!!
本当にありがとうございました<m(__)m>

あと1点
3つ組み合わせにするときは下の数式でできますか?

=IFERROR(IFERROR(INDEX(表,IF(ROW(A1)<=COUNTA(INDEX(表,,G$3)),ROW(A1),-1),G$3),INDEX(表,IF(ROW(A1)-COUNTA(INDEX(表,,G$3))<=COUNTA(INDEX(表,,G$4)),ROW(A1)-COUNTA(INDEX(表,,G$3))<=COUNTA(INDEX(表,,G$4)),ROW(A1)-COUNTA(INDEX(表,,G$3)),""),G$4)),"")

お礼日時:2023/08/08 05:55

スピル機能が使えない中古バージョンしか持ち合わせていない、かつ、関数を含む数式に弱い私には、数式が全く不要な添付図のようなヤリカタしか思い付きません。

その上、文章を書くのが苦手なので、万一ヤリカタの説明ををご希望なら、理解し易い平易な文章でその旨をお知らせください。
m(_._)m
「指定した複数のグループを表示したい」の回答画像3
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
色々な方法が試せてよかったです。
ありがとうございます。

お礼日時:2023/08/08 05:56

こんばんは



スピル機能が使える環境なら、ご提示のレイアウトで
G4セルに
=VSTACK(IFERROR(FILTER(CHOOSECOLS(2:10,MATCH(G2,1:1,0)),CHOOSECOLS(2:10,MATCH(G2,1:1,0))<>"",""),""),IFERROR(FILTER(CHOOSECOLS(2:10,MATCH(G3,1:1,0)),CHOOSECOLS(2:10,MATCH(G3,1:1,0))<>"",""),""))
を入力し、G4:I4にフィルコピーでできます。

※ 関数では色を転記することはできませんので、条件付き書式を利用するかマクロで。
この回答への補足あり
    • good
    • 0
この回答へのお礼

早々にご回答いただき有難うございました。
今回は、持ち合わせていない数式でしたが
使えるようになったら試してみたいと思います。
ありがとうございます_(_^_)_

お礼日時:2023/08/08 05:57

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!