【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?

Excel2007にて下記作業は可能でしょうか?

(シート1)
A1   B1   C1   D1
田中  ○   鈴木  △
A2   B2   C1   D2
浜田  ×       
A3   B3   C1   D3
後藤  ○   加藤  ×



(シート2)
A1   B1   C1
田中  ○
A2   B2   C2
鈴木  △
A3   B3   C3
浜田  ×   
A4   B4   C4
後藤  ○
A5   B5   C5
加藤  ×

上記のとおり別シートに自動で並び変える数式はあるのでしょうか?
データの量が多いのと、Excelの操作ができない人用に自動化したいのですが。

A 回答 (2件)

こんばんは!


参考になるかどうか判りませんが・・・
強引な方法になります。

名前の重複はなくて、質問どおり列方向にはA~D列までの入力だとしています。

↓の画像のようにSheet1に作業用の列を設けさせていただいています。
作業列E2セルに
=IF(INDEX($A2:$D2,COLUMN(A1)*2)="","",ROW(A1)*100+COLUMN(A1)*2-1)
として、F列までオートフィルでコピーし、それを行方向にコピーします。

そして、Sheet2のA2セルに
=IF(COUNT(Sheet1!$E$2:$F$100)<ROW(A1),"",INDEX(Sheet1!$A$2:$D$100,INT(SMALL(Sheet1!$E$2:$F$100,ROW(A1))/100),MOD(SMALL(Sheet1!$E$2:$F$100,ROW(A1)),100)))

B2セルに
=IF(A2="","",INDEX(Sheet1!$A$2:$D$100,MAX(INDEX((Sheet1!$A$2:$D$100=A2)*ROW(Sheet1!$A$1:$A$99),)),MAX(INDEX((Sheet1!$A$2:$D$100=A2)*COLUMN(Sheet1!$A:$D),))+1))

という数式を入れ、A2・B2セルを範囲指定し、B2セルのフィルハンドルで下へコピーすると
画像のような感じになります。
尚、数式はSheet1の100行目まで対応できるようにしています。

以上、長々と書きましたが参考になれば幸いです。
他に良い方法があれば読み流してくださいね。m(__)m
「Excel上でのセルの並び替えについて」の回答画像2
    • good
    • 0
この回答へのお礼

ご回答有り難う御座います。
簡単にできる関数や機能があるのではと思いご質問させていただいたのですが、やはりないのですね。
教えていただいた数式を見て驚いてる次第です。
本当に参考どころか、このまま使わせていただこうと考えています。
わかりやすくプリントスクリーンまでご使用いただき本当に有り難うございました。

お礼日時:2010/02/12 13:16

マクロを組めば可能ですが、数式だけではできません。



数式だけだと
A1=OFFSET(シート1!$A$1,(ROW()-1)/2,MOD(ROW()*2+2,4)+COLUMN()-1)&""
としてA1:B6にコピーで下記のようになります。

(シート2)
A1   B1   C1
田中  ○
A2   B2   C2
鈴木  △
A3   B3   C3
浜田  ×   
A4   B4   C4

A5   B5   C5
後藤  ○
A6   B6   C6
加藤  ×
    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございます。
やはりマクロが必要ですよね。。。
1つのデータベースから様々な様式を打ち出すために
今回の質問内容になった次第です。
このたび、ご教授いただきました関数は
自分では考えもつかないもので有り難う御座いました。
一度、ご教授いただきました数式使用させていただきたいと思います。
早々のご回答有り難うございました。

お礼日時:2010/02/12 13:11

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


おすすめ情報