
No.3ベストアンサー
- 回答日時:
No.1です。
前回回答の補足です。前回回答で投稿したI2セルに記述した数式の末尾に
・・・))=G2),H2)),2,2)),"")
という部分がありますが、これは数式の意味をご理解いただけると判ることなのですが、名前がすべて1文字である「ご質問者の例示の表」のために作成した数式です。
実際のメンバーすべてのお名前が1文字であることは、常識的には考えにくいので、その場合上記数式の末尾の数値はメンバーの最長の名前の文字数以上にしておけば安全です。「寿限無」でない限り20文字あれば十分だと思いますので、
・・・))=G2),H2)),2,20)),"")
に修正すれば実際の場面で使用できると思います。
No.4
- 回答日時:
No3です。
補足を投稿したのですが、投稿番号を間違えて「No.2です」と書くべきところ、「No.1です」と書いてしましました。
ご質問者さん、No.1の中山あさん、大変失礼をいたしました。
訂正してお詫び申し上げます。
No.2
- 回答日時:
No.1さんのご指摘のとおり、VBAで処理すべき内容だと思います。
ただ、ご質問者がVBAを扱うレベルにないとのことなので、無理やり関数で処理する方法を考えてみました。
とりあえず、表の大きさは最大でも300行程度のものだとします。
添付画像をご覧ください。
無理やりなので作業列を3列使用しています。作業列の場所はどこでもよいのですが、一応「並び替え結果」を表示する列の左側に3列挿入することにしています。
作業列1(添付画像F列)のF2セルに
=IF(A2="",A3,IF((A2<>"A")*((C2="◎")+(C2="○")),LEFT(ADDRESS(1,COLUMN(INDIRECT(A2&"1"))-1,4),1),A2))&IF(C2=""," ",C2)&B2
という数式を記述して下方向へコピーし、昇格後のランクを表示できるようにしています。
作業列2(添付画像G列)のG2セルに
=IF(TRIM(F2)<>"",AGGREGATE(15,6,CODE(LEFT($F$2:$F$300,1)),ROW(A1)),"")
という数式を記述して下方向へコピーし、それぞれのランクを文字コードに変換して、昇順に並べ変えています。
作業列3(添付画像H列)のH2セルに
=IF(G2<>"",COUNTIF($G$2:G2,G2),"")
という数式を記述して下方向へコピーし、ランクの表題とランクに属する人の数を合算した数を数えています。
「並び替え結果」を表示する列(添付画像I列)のI2セルに
=IFERROR(IF(MID(INDEX(F:F,AGGREGATE(15,6,ROW($F$2:$F$300)/(CODE(LEFT($F$2:$F$300,1))=G2),H2)),3,1)="",MID(INDEX(F:F,AGGREGATE(15,6,ROW($F$2:$F$300)/(CODE(LEFT($F$2:$F$300,1))=G2),H2)),1,1),MID(INDEX(F:F,AGGREGATE(15,6,ROW($F$2:$F$300)/(CODE(LEFT($F$2:$F$300,1))=G2),H2)),2,2)),"")
という数式を記述して下方向へコピーしています。
これは、各ランクの表題とランクに所属している人の人数の合計が判っているので、F列をG列のランクの文字コードの昇順かつH列の順番に表示するための数式です。
以上で並び替え完了ですが、作業列1~3は非表示にすることで、見映えをご質問者の提示されたものと同じにすることができます。

VBAでなく、関数でもここまでつくられるgoomaniaさん、補足で次の質問をしましたが、この御礼をまずします。ありがとうございました。再度質問をUPします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
教えて!gooグレードポイントがdポイントに変わります!
dアカウント連携を行っていただくと、グレードに応じて「dポイント」が進呈されるようになります。
-
エクセルの都道府県名連続入力を抽出削除するには
Excel(エクセル)
-
エクセル◎○の人は、一つ昇格した表にしたい。
Excel(エクセル)
-
Excelのセルに文字を入力しただけでおなじブック内の他のシートにも同じ文字が自動で入るよう設定方法
Excel(エクセル)
-
4
Excel関数
Excel(エクセル)
-
5
式の結果が0の時に空白にしたセルと、別のセルを足した結果を出す場合
Excel(エクセル)
-
6
Excel関数について 下記の業務をもっと効率よく出来る関数がないか悩んでます(´;Д;`) ※質屋
Excel(エクセル)
-
7
商品の価格を割り出す、エクセルの計算式
Excel(エクセル)
-
8
エクセルで、統合されたセルの参照方法
Excel(エクセル)
-
9
Excel 【データの加工】
Excel(エクセル)
-
10
Excelのエラーで困ってます。
Excel(エクセル)
-
11
元データから連続5日以上だった人を抽出したい
Excel(エクセル)
-
12
Excel関数で空き時間を抽出したいのですが、添付しました画像のようにC列とD列が使用時間でその他の
Excel(エクセル)
-
13
エクセルの条件付き書式
Excel(エクセル)
-
14
Excelで行の件数をカウントしたいです。 表は2つ、 ・表1が、ID(重複なし)の一覧の表がA列
Excel(エクセル)
-
15
エクセルのセル中で最初の0を表示する方法
Excel(エクセル)
-
16
excel関数について お世話になります。上のセルに関数を入れセル右下をダブルクリックすると、関数は
Excel(エクセル)
-
17
Excelにて年間の当番表作成したい
Excel(エクセル)
-
18
どちらからも検索して一覧表を作成できるエクセル表を作りたい
Excel(エクセル)
-
19
先日、時間の計算方法を教えていただいたのですが、その際に 記号を使った算式を教えていただいたので"
Excel(エクセル)
-
20
C2に文字が入力された時に、A2B2にA1B1にかかれた物を自動入力されていくような物が作りたいです
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
このカテゴリの人気Q&Aランキング
-
4
outlook添付ファイルの起動が遅い
-
5
エクセルで、変な矢印がでて、...
-
6
エクセル近似曲線(範囲指定)
-
7
EXCELで式からグラフを描くには?
-
8
エクセルである行以下全部を削...
-
9
エクセルウィンドウのサイズ変...
-
10
あるセルに特定の文字列を打つ...
-
11
エクセル: セルの枠を超えて表示
-
12
Excelで隣のセルと同じ内容に列...
-
13
Excelで罫線を引いていな...
-
14
エクセル:シート名を手入力で...
-
15
エクセルのセル内の余白の設定...
-
16
グラフの横・縦項目が全部表示...
-
17
VBAでブックを非表示で開いて処...
-
18
Excelで数式だけを消して、数値...
-
19
Excel で下線が消えてしまうの...
-
20
Excel PHONETIC関数で振り仮名...
おすすめ情報
公式facebook
公式twitter
区分A~ を半角数字1~に変更可能です。
VBAとは、開発>マクロの記録あたりの事でしょうか。「Go! Go! エクセルマクロをはじめよう!」をたまに、見てましたけど、実際には、したことがありません。よろしくお願いいたします。
昨夜遅くと、今朝早くの補足補足、ありがとうございます。検証はまだできていませんが、補足です。添付画像のように、「並び替え」はF列だけ使用しますが、「次月用記入用紙」は「ほか1・ほか2」の「行ごと」情報もほしいのです。どうでしょうか。よろしくお願いします。
ADDRESS関数(A=65)・INDIRECT関数(絶対参照など)・(TRIM関数(スペース削除)など初めて調べる関数です。
すごい!!。作業2・3・並び替えはなんとか理解?ですが、作業1の昇格後のランク表示の関数が?いまいち理解できませんが、
ここまで、関数を教えていただいたのに申し訳ありませんが「次月可否記入用紙」もお願いします。