[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『空白セル以外、行ごと詰めて昇順に並び替えて表示』(むてん)
表を作成していて行き詰りました。
ぜひ教えて下さい。
【Sheet1】
A B C D
1 なす 4 玉ねぎ 白菜
2 5 人参 玉ねぎ
3 なす 1 卵
4 なす 6 白菜 人参
5 2 白菜
6 なす 3 人参 玉ねぎ
・別シートにA列の空白以外を詰めて、かつB列の昇順に並べ替えたい
【Sheet2】
A B C D
1 なす 1 卵
2 なす 3 人参 玉ねぎ
3 なす 4 玉ねぎ 白菜
4 なす 6 白菜 人参
・フォームで集まってきたデータ(スプレットシート)から【Sheet1】にコピペした段階で【Sheet2】のような表ができる仕組みにしたいです。
どんな関数なのか、ぜひ教えてください。
よろしくお願いします。
< 使用 Excel:Excel2013、使用 OS:Windows10 >
Sheet2!A1: =IFERROR(INDEX(Sheet1!$A$1:$D$6,MOD(AGGREGATE(15,6,Sheet1!$B$1:$B$6+ROW($A$1:$A$6)/((Sheet1!$A$1:$A$6<>""))/100,ROW(A1)),1)*100,COLUMN(A1)),"")
D列までと下に必要数コピーします。
Sheet1のD列にデータ(野菜名)がないと「0」と表示されますので
ゼロサプレス形式を設定してください(式が長くなりますので)
(メジロ) 2023/11/13(月) 15:46:10
(メジロ) 2023/11/13(月) 15:49:24
式の最後に「&""」追加しても「0」表示は消えます。
ただ、数値が文字列になります。
(メジロ) 2023/11/13(月) 15:52:48
もしB列に重複がなければ =IFERROR(INDEX(Sheet1!A:A,MATCH(AGGREGATE(15,6,Sheet1!$B$1:$B$6/(Sheet1!$A$1:$A$6<>""),ROW(A1)),Sheet1!$B:$B,0))&"","") でも。 野菜名がない場合の注意点および&""での注意点はメジロさんの式と同じ。 (ねむねむ) 2023/11/13(月) 15:59:08
おっと >=IFERROR(INDEX(Sheet1!A:A,MATCH(AGGREGATE(15,6,Sheet1!$B$1:$B$6/(Sheet1!$A$1:$A$6<>""),ROW(A1)),Sheet1!$B:$B,0))&"","") の式では数値が文字列の数字になる。 >=IFERROR(INDEX(Sheet1!A:A,MATCH(AGGREGATE(15,6,Sheet1!$B$1:$B$6/(Sheet1!$A$1:$A$6<>""),ROW(A1)),Sheet1!$B:$B,0)),"") だと数値のままだが野菜名が空白の場合に0が表示される。
(ねむねむ) 2023/11/13(月) 16:08:46
大変申し訳ありませんが情報が追加することを想定した式を教えていただけますでしょうか。
いろいろと変わって本当にすみません。
【Sheet1】
A B C D E F ・・・・・
1 なす 4 玉ねぎ 白菜 ひき肉
2 5 人参 玉ねぎ 卵 ひき肉
3 なす 1 卵
4 なす 6 白菜 人参 長ネギ
5 2 白菜
6 なす 3 人参 玉ねぎ 豆腐
7 なす 8 長ネギ 豆腐
8
・
・
・
【Sheet2】
A B C D E F ・・・・・
1 なす 4 玉ねぎ 白菜 ひき肉
2 なす 1 卵
3 なす 6 白菜 人参 長ネギ
4 6 なす 3 人参 玉ねぎ 豆腐
5 なす 8 長ネギ 豆腐
6
・
・
・
(むてん) 2023/11/13(月) 16:34:36
=IFERROR(INDEX(Sheet1!A:A,MATCH(AGGREGATE(15,6,Sheet1!$B$1:$B$6/(Sheet1!$A$1:$A$6<>""),ROW(A1)),Sheet1!$B:$B,0)),"") だと6行目までを対処としている。 対応最大行数を増やすには式中の$6部分の変更で可能。
また横へは単に横へのコピーを伸ばしていくだけ。 (ねむねむ) 2023/11/14(火) 08:33:01
式をコピーする範囲を右と下に広げるだけです。
ねむねむさんからご回答がありますが、書き込みましたので送付します。
(メジロ) 2023/11/14(火) 08:41:48
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.