アプリ版:「スタンプのみでお礼する」機能のリリースについて

例えば列が20あるExcelの表の中から5つの列を取り出し、列の並び順を変更して新しい表を作るときに、どのようにしたら一番正確で手間もかからないでしょうか。
シートをコピーして削除とカット&ペーストで加工するというのが一番原始的な手ですよね。Vlookupも使えそうな気がします。

しかしもっと楽にできそうな気がします。ご存知の方、ぜひ教えてください。

A 回答 (5件)

こんにちは!


一案です。

↓の画像のように元データがSheet1にあり、Sheet2に表示するとします。
Sheet1には必ず項目行があるという前提です。
Sheet2の1行目に表示したい項目名を入力しておきます。
そしてSheet2のA2セルに
=INDEX(Sheet1!$A:$T,ROW(),MATCH(A$1,Sheet1!$1:$1,0))

という数式を入れ、列・行方向にフィルハンドルでコピー!
これで画像のような感じになります。

尚、Sheet1が空白セルの場合は「0」が返りますので、
「0」を表示させたくない場合は、手元にあるExcel2007の場合

画面左上のオプションボタン(Excel2010以降は「ファイル」) → Excelのオプション(オプション)
 → 詳細設定 → 「次のシートで作業するときの表示設定」の右側▼で
Sheet2を選択 → 「ゼロ値のセルにゼロを表示する」のチェックを外しておきます。

※ 注意点 ※
参照先が「0」であっても何も表示されませんので、「0」も表示したい場合は
少し長くなっても数式で処理する必要があると思います。m(_ _)m
「Excelで表の一部の列を抽出、順番を入」の回答画像1
    • good
    • 5
この回答へのお礼

どうもありがとうございました。やってみたらうまく行ったのですが、その後の処理で関数で消したはずのゼロがピポットテーブルの「データの個数」でカウントされるようになってしまいました。これについては別質問を立てたいと思います。ありがとうございました。

お礼日時:2015/05/13 12:37

こんな方法もあるかと、思います。



A列を選択します。
カーソルを縦の線(例えば右側)に持ってきます。+から矢印に変わります。
この時、「Shift」を押して、マウス左クリックしてドラッグさせます。
例えば、B列の右の部分に持ってくると、A列とB列は 入れ替わります。
D列の右に持ってくると、B,C,D列が、左に移動して、そこにA列であった列が移動します。

言葉で説明すると、よくわからないのですが。。。
試しにやってみてください。
    • good
    • 0
この回答へのお礼

あ、この方法は知ってました。でもご回答ありがとうございました。

お礼日時:2015/05/13 12:40

具体的に何をどうしたいのか分からないとなんとも。

    • good
    • 0

アドインを使ったほうが楽です。

出力列を選択して、並び順の指定をすれば別シートに抽出できます。
    • good
    • 5
この回答へのお礼

これは強力なアドインですね。ご紹介ありがとうございました。

お礼日時:2015/05/13 12:42

1. シートのコピー


2. 1行目の挿入
3. 1~5まで、順番にしたい順に1行目に番号をふる
4. 並べ替え オプション で●列単位
5. 不要な列の削除と1行目の削除

3. は 1行目に=RAND() と入力してから並び替えれば、ランダムで並ぶ
XL2003なので2007以降のバージョンでは未確認。
「Excelで表の一部の列を抽出、順番を入」の回答画像2
    • good
    • 1
この回答へのお礼

並べ替えオプションは知りませんでした。ありがとうございました。

お礼日時:2015/05/13 12:38

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