• ベストアンサー

データの並び替え

Excel2000を使っています。 まず見てください!   A  B C  D E 1  あ   あ い う 2  い   え お か 3  う   き く け 4  え   こ 5  お 6  か 7  き 8  く 9  け 10 こ 上に書いたように、A列のように並んでるものを C,D,E列のように並び替えたいのですが、 =INDIRECT("A"&ROUNDUP(ROW(1:1)/1,0))で いろいろ数字を入れ替えてやってみたのですが、うまくいきません。 数が多いので、ずらっとコピーしたいのです。上記の関数も教わったもので、それぞれの単語の意味を理解してないので応用も利きません。 どなたか知恵をお貸しください。 ついでに、高度な関数の覚え方も教えていただけたらありがたいです。 VLOOKUPやHLOOKUPなど一つ一つは使えても、組み合わせるとまったくわからなくなってしまいます。 どうかよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#204879
noname#204879
回答No.3

[No.1回答に対するお礼]に対するコメント、 断言しておきますが、貴方の質問は「低レベル」どころか「高レベル」です。 》 関数の意味を理解するまでには至りません… 理解できない式に遭遇したときが質問(勉強)するチャンスです。放置しておくと何時まで経っても(全く応用が出来ない)初心者かと。

no---bu
質問者

お礼

ご丁寧にありがとうございます。おかげさまで希望が沸いてきました。 これからも、いろいろな壁にぶつかると思いますが、質問しながら勉強を重ね、回答する立場になりたいと思います。 本当にありがとうございました。

その他の回答 (2)

  • telescope
  • ベストアンサー率54% (1069/1958)
回答No.2

=INDIRECT("A"&((ROW()-1)*3+(COLUMN()-2))) INDIRECT関数は、指定したセル番地の値を返す関数です。 =INDIRECT("A"&1) でA1セルの値が求められます。 INDIRECT関数を使って、C1セルにA1セルの値を、D1にA2の値を表示するのですが、 C1では1、D1では2と異なった数値を導き出さなければ成りません。 COLUMN関数を使うと、何番目の列か知ることが出来ます。 C1で =COLUMN() と式を入力すると「3」、D1では「4」という数値が得られます。 それぞれの数値から「2」 を引けば、「1」と「2」となるので、C1セルに =INDIRECT("A"&COLUMN()-2) と式をいれ、D1、E1にもコピー&ペーストします。 さて、2行目以降の場合です。 C2にはA4の、C3にはA7の値を持ってくるために、「4」と「7」の数値を取り出します。 C2で「1×3+1」、C3で「2×3+1」が得られれば出来そうです。 ROW関数は、何番目の行であるかを示します。 C2セルに =ROW() と式を入力すると「2」、C3では「3」となります。 =(ROW()-1)*3+(COLUMN()-2) で、C2セルでは「4」、C3セルでは「7」が得られます。 これをINDIRECT関数に組み込みます。 C1セルに =INDIRECT("A"&((ROW()-1)*3+(COLUMN()-2))) と入力し、C1セルのフィルハンドルをE1までドラッグします。 そのままE1セルのフィルハンドルを下方向にドラッグします。 A列が空白の場合、「0」が表示されるのを避けるには、 IF関数で分岐します。 =IF(INDIRECT("A"&((ROW()-1)*3+(COLUMN()-2)))="","",INDIRECT("A"&((ROW()-1)*3+(COLUMN()-2)))) または、 =IF(INDIRECT("A"&((ROW()-1)*3+(COLUMN()-2)))<>"",INDIRECT("A"&((ROW()-1)*3+(COLUMN()-2))),"")

no---bu
質問者

お礼

ご丁寧にありがとうございました。解説文をよく読み、式を理解することによって応用ができるようになると思います。

noname#204879
noname#204879
回答No.1

↓下記「参考URL」を参照されたい。 それは6列のケースだけど、3列場合に応用するにはどうしたら良いか分からない場合は、何処が不明かを教えてください。

参考URL:
http://oshiete1.goo.ne.jp/kotaeru.php3?q=2173662
no---bu
質問者

お礼

ありがとうございます。 できました! =OFFSET(list,(ROW(1:1)-1)*6+COLUMN(A:A)-1,0,1,1) 関数の意味を理解するまでには至りませんが listの部分を$A$1にして、6を3に変えたら解決しました。 今後も低レベルな質問をすることがあるかもしれませんが 面倒見ていただけたらありがたいと思います。 本当にありがとうございました。

関連するQ&A

  • セルの結合がされた表をHLOOKUPで検索する場合について

    Excel初心者です。質問があります。 下記のような表があります       A列   B列   C列   D列 行番号1    12/1       1/1 行番号2  件数   金額  件数   金額    行番号3   2    100   3    200 行番号5   1/1 ここでHlookupを使って下記のように検索します A5に1/1と入力して 件数を検索するには   =HLOOKUP(A5,A1:D3,3) → 3 ここまではいいのですが 金額の「200」を検索するにはどのような関数を使えばよいのでしょうか? ※行番号1の「12/1」と「1/1」はセルの結合をしており 「12/1」のセルはA1、「1/1」のセルはC1になっています。 HLOOKUP関数とVLOOKUP関数又はCOLUMN関数を組み合わせれば出来るのでしょうか よろしくお願いします。

  • エクセルデータの並び替え

    A列とB列に文字列ばかりのデータがあります。 C列に、A列の1データに対してB列の5データが続くように並べたいのです。 A列  B列  C列 a    1   a b    2     1 c    3     2 d    4     3 e    5     4 f    6     5 g    7     b h    8     6 i    9     7 j    10     8 k    11     9 l    12     10   以下、C列には、  c 11 12 13 14 15 d 16 17 18 19 20 e 21 ・・・・と続きます。 こんなことは関数処理で可能でしょうか。 手作業でやりだしたのですが、手間がかかるので質問させていただきました。どうぞ、よろしくお願いします。

  • エクセルについて

         1    2    3 A    0120   0033 B    0088   0038 C    0077   0088 D    0011   0120 E    0081 0045 .    .    . .    .    . .    .    . 仕事で上記のような1列が2列に同じ数字があるのかを調べたいと思ってます。それにはどのようにすればよろしいでしょうか。 前にVLOOKUP関数を使えばできると聞いたのですが使い方もわかりません。 よろしくお願いします。

  • Vlookupで画像と文字の組み合わせを利用したい

    Excel2003 で図のように オートシェイプと文字を組み合わせたセル(A1:B3)を vlookup関数でD1に数字(1列目)を入力してE1に 表示させたいのですが、可能でしょうか?

  • データの並び替え

    今、 a 001 1 a 002 1 b 002 2 b 003 2 c 001 2 c 002 4 c 004 3 d 003 2 d 005 1 e 006 4 このように並んでいる表を 001 002 003 004 005 006 a 1 1 0 0 0 0 b 0 2 2 0 0 0 c 2 4 0 3 0 0 d 0 0 2 0 1 0 e 0 0 0 0 0 4 というような表に書き換えたいのですが、 何かいい方法はないでしょうか? データ数が膨大なので、EXCELなどでやるわけにもいかず困っています。 javaでプログラムを組もうと思っているのですが、 具体的にどのようにすればいいものでしょうか?

    • ベストアンサー
    • Java
  • エクセルデータの並び替え

    A列に 1 2 3 4 5 6 7 ・・・・・ B列に a b c d e f g h i j k l ・・・・ と文字列があります。 これを C列に 5つずつデータをセットにして並べたいのです。 A列    B列           C列 1     a      1 a   2 b  3 c  4 d  5 e 2     b      6 f   7 g  8 h  9 i  10 j 3     c      11 k  12 l  13 m  14 n  15 o 4     d      16 p   17 q  18 r  19 s  20 t 5     e      以下同じように続く 6     f 7     g 8     h 9     i 10     j 11     k 実際のC列のデータは トマト tomato  ネコ cat   机 desk  いす chair  かばん  bag  のようにしたいのです。 関数の扱いがわからずに苦戦しています。どうぞ、よろしくお願いします。

  • 別のシートにデータを出す方法

    シート1に 番号 A1に1 A2に2 A3に3 A4に4 データ↓ B1に43 B2に45 B3に47 B4に55 C1に733 C2に890 C3に826 C4に94 D1に57 D2に67 D3に41 D4に52 E1に301 E2に104 E3に719 E4に441 という表があるとします。 番号1の場合は、B1の43、C1の733、D1に57、E1に301というデータです。 シート2の、 A3に、1という数字(シート1のA1の、1という番号)をいれれば、 シート2の B3に、シート1の、B1の43というデータ。 C3に、シート1の、C1の733というデータ。 D3に、シート1の、D1の57というデータ。 E3に、シート1の、E1の301というデータ。 がでるようにしたいのですが、 VLOOKUPを使ってできますか? どのような関数の立て方したらいいでしょう? XPのExcel2003です。 よろしくお願いしますm(_ _)m

  • 関数 数式 Excel

    すみませんが教えてください! E列に下のような関数を入れたところ正しく表示されませんでした・・・ どうぞよろしくお願いします。 A列(数字・空白を含む)が 1 の場合”◎” A列が1以外の場合は B列(別シートから参照のVLOOKUP関数が入っている)と C列(別シートから参照ののVLOOKUP関数が入っている) を足した数字が D列(別シートから参照ののVLOOKUP関数が入っている) が同じなら ”OK” 違うなら ”NG" と表示させたいので =IF(A1=1,"◎",IF(D181=(B181+C181),"OK","NG")) としてみましたが"◎"が表示される表示は正しいのですが "OK" "NG"が正しく表示されません。 これに加えていずれのセルにも空白が存在するのでエラーを出さないようにしたいです。 よろしくおねがいします!!

  • 小数点4桁での四捨五入がうまくいきません

    エクセルで次のような計算をさせます。 A2 に1.8、B2に0.075、C2に0.075、 D2に= A2*B2*C2 、E2に=roundup(D2,4) D2の計算結果は 0.010125 です。小数点第5桁目の値を参照して第4桁目で四捨五入したいのですが、roundupでは0.0102、rounddownでは0.0101です。 表示させたいのは0.0101です。この場合、rounddownを使えば問題ないのですが、逆にrounddownだと小数点以下4桁目の四捨五入がうまくいかない場合もあります。 例えば A3に2.7 B3に0.08、C3に0.08 があり、E3にすべての値を掛けた結果を表示させると0.01728となります。 =roundup(E3,4)では0.0173となり、rounddownでは0.0172となります。この場合はroundup関数の結果である0.0173が求める数値です。 A列、B列,C列に任意の数字が入り、E列に4桁目で四捨五入した正確な値を求めたいのですが、なにか良い方法はないでしょうか。 VBAを使っても構いません。ちなみにこれは木材の材積計算に使用する目的です。 よろしくお願いします。

  • 【Excel】一致するデータの検索

    Excel2003を使用しています。 Sheet1のB列の値がSheet2のA列に入力されている値と一致したら、Sheet1のC列とD列の値をSheet2のC列とD列に表示させたく、VLOOKUP関数を使用したところ、Sheet1のB列とSheet2のA列のデータの並び方(順序)が同じではないためか、VLOOKUP関数ではできませんでした。 こういう場合、マクロで処理することは可能でしょうか?可能であれば、どのようにコードを記述すればいいでしょうか? Sheet1のデータは4行目から、Sheet2のデータは6行目から入力されています。 よろしくお願いします。

専門家に質問してみよう