エクセルで
例えば、1行10列のデータを10行1列に
並び替えが出来ないものでしょうか?
宜しく御願い致します.

このQ&Aに関連する最新のQ&A

A 回答 (1件)

こんにちは



 以下のページがご参考になるのでは?

【エクセル技道場】-編集-行列の入れ替え
http://www2.odn.ne.jp/excel/waza/edit.html

参考URL:http://www2.odn.ne.jp/excel/waza/edit.html
    • good
    • 0
この回答へのお礼

すぐできました。
ありがとうございました。

お礼日時:2001/12/19 10:07

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセル プルダウンの作り方

お世話になります。
エクセルでプルダウンの作り方を教えていただけませんでしょうか?
住所を▼のボタンでクリックしたら【北海道,青森,秋田,岩手・・・】などの選択ができるようにしたいのです。
宜しくお願いします。

Aベストアンサー

メニューから「データ」、「入力規則」、「設定」で「入力値の種類」を「リスト」を選択します。
そうすると「元の値」という表示がでますので、そこで前もって作っておいたリストの範囲を指定します。
多くないのでしたら、そのままそこにカンマで区切って入力しても出来ます。

QA列(10行)とB列(10行)の全ての組み合わせをC列にリストアップしたい。

何度もすみません。
前回の質問で文字列の組み合わせの方法は理解いたしました!
本当にありがとうございます。

追加で質問になるのですが、タイトルにあるように(※数字は仮です)

A列(10行)とB列(10行)の全ての組み合わせをC列にすべて(100行?)リストアップしたいと考えています。

また並び方は
A1
A2
A3



B1
B2



というようにしたいです。
このようにするには

C列にどのような関数を入れればいいのでしょうか?
どうかよろしくお願いいたします。

Aベストアンサー

#3,#4です
C1セルに
=IF(COUNTA(A:A)*COUNTA(B:B)<ROW(),"",
INDEX(A:A,(ROW()-1)/COUNTA(B:B)+1)&" "
&INDEX(B:B,MOD(ROW()-1,COUNTA(B:B))+1))
で良かったです。余計なものを足してました。
添付図、薄い緑は手入力です。水色には数式が入っています
D、E列のような数値が求められれば、(INDEX関数を使って)結果が出せるのはわかるでしょうか?

以下、その数値を求める方法です。
素材として連番があります。

F列は、行番号です。F1セルに =ROW()

G列は、連番をB列の個数で割ったものです。
求めたい値を出すために (連番-1)/B列の個数 +1 としています
G1 =(F1-1)/COUNTA(B:B)+1
=INT((F1-1)/COUNTA(B:B)+1)とすれば求めたい値になります。

H列は連番をB列の個数で割った余りです。
求めたい値を出すために((連番-1)/B列の個数)のあまり +1 としています
F1 =MOD(F1-1,COUNTA(B:B))+1

I1セル =INDEX(A:A,G1)
J1セル =INDEX(B:B,H1)
としてA列、B列の値を引っ張ってきます。
ここでINDEXの第2引数ですが、小数になっている場合切り捨てられて計算されるので、INTを追加しなくても良いです。
わかりにくくなる可能性を加味してINTを加えても良いでしょう。

ある程度の説明はしたつもりですが、それでもわからない点があれば再度質問してください

#3,#4です
C1セルに
=IF(COUNTA(A:A)*COUNTA(B:B)<ROW(),"",
INDEX(A:A,(ROW()-1)/COUNTA(B:B)+1)&" "
&INDEX(B:B,MOD(ROW()-1,COUNTA(B:B))+1))
で良かったです。余計なものを足してました。
添付図、薄い緑は手入力です。水色には数式が入っています
D、E列のような数値が求められれば、(INDEX関数を使って)結果が出せるのはわかるでしょうか?

以下、その数値を求める方法です。
素材として連番があります。

F列は、行番号です。F1セルに =ROW()

G列は、連番をB列の個数で割ったものです。
...続きを読む

Qエクセルでプルダウンメニューの作り方

  エクセルの画面で、よく三角形を逆さまにした形をクリックするといくつかメニューが出てき、どれかを選べるようになっていますが、その作り方を教えてください。
 会社で人事を担当していますが、三角形(プルダウンボタン)をクリックすると社員氏名一覧が表示され、そこから選択できるようにしたいのです。
 しばらく自力でいろいろやってみましたが、さっぱり見当がつかず、どうやればいいのか分かりませんでした。よろしくお願いします。

Aベストアンサー

こんばんは!
当方使用のExcel2003での一例です!

↓の画像のようにSheet2に名簿表を作成しておきます。
画像ではSheet2のA2セル以降を範囲指定 → 名前ボックスに仮に「名簿」と入力しOK
これで範囲指定したセルが「名簿」と名前定義されましたので、

Sheet1のリスト表示させたいセルを範囲指定 → メニュー → データ → 入力規則
→ リスト → 「元の値」の欄に
=名簿
としてOK

これでSheet1のセルをアクティブにすると右側に下向き▼が表示されますので、そこをクリック!
これで希望に近い形にならないでしょうか?
Excel2007の場合は↓のURLが参考になるかもしれません。

http://www.eurus.dti.ne.jp/~yoneyama/Excel2007/excel2007-ny_kis2.html

尚、同一Sheetに「名簿表」を作成する場合は名前定義する必要はなくて
「元の値」の右側の四角をクリックし、リスト表示したいセルをそのまま範囲指定すればOKです。

以上、お役に立てば良いのですが・・・m(_ _)m

こんばんは!
当方使用のExcel2003での一例です!

↓の画像のようにSheet2に名簿表を作成しておきます。
画像ではSheet2のA2セル以降を範囲指定 → 名前ボックスに仮に「名簿」と入力しOK
これで範囲指定したセルが「名簿」と名前定義されましたので、

Sheet1のリスト表示させたいセルを範囲指定 → メニュー → データ → 入力規則
→ リスト → 「元の値」の欄に
=名簿
としてOK

これでSheet1のセルをアクティブにすると右側に下向き▼が表示されますので、そこをクリック!
これで希望に近い形にならない...続きを読む

Qエクセルにおいて例えば行1~20の数値を行20~1に並べ替えるのには?

例えば
1行目 6
2行目 1
3行目 2 
4行目 -2
5行目 13

を逆さに

1行目 13
2行目 -2
3行目 2 
4行目 1
5行目 6

と並べ替えるにはどうしたらよろしいでしょうか?


これが出来れば時間の激短縮ができます。

Aベストアンサー

A列の1行目から20行目まで数値が入れられているとします。B列が空であれば(ない場合には次の空の列:以下『選択した列』)の1行目に「1」を入力し、右下の小さい四角形をマウスでつまみ(左クリック押し下げ)ctrlキーを押しながら20行目まで引っ張ります。これによりB列(または選択した列)に1から20がオートフィルされます。
次に、A列の1行目からB列(または選択した列)20行目を選択し多情対でメニューのデータ>並べ替えを選びます。開いたウインドウ内で最優先されるキーとしてB列(または選択した列)を指定し、右側の降順(D)を選び、OKをクリックします。
最後にB列(または選択した列)を削除します。
以上の手順は、No1さんの回答と同じです(ただし、A列手前の列挿入の手順説明が面倒くさかったので、それに代えてB列を使用しています)。

Qエクセル(Excel) 納品書の作り方【画像修正版

昨日http://oshiete.goo.ne.jp/qa/7348426.htmlで質問させていただき、詳しくご回答いただき少し進んだのですが、状況が変わったので改めて質問させていただきます。

■エクセル(Excel)で納品書の作成をしています。
シート1に納品書、シート2に商品マスタ(一覧)を作っていて、シート2の一覧を反映させて
納品書に番号を打ち込むだけで、商品名・単価までが出るシステムを作りたいのですが、
昨日のご回答の中の「VLOOKUP」?を入れて、自分なりにマス目の数字を変えてやってみたのですが
反映されずN/?のようなエラーになってしまいます。

※画像が見にくかったのでシート<CENTER></CENTER>だけにしました。

1、上記のように、シート2との関連付けの係数を、写真の場合の数字で教えてください。

2、合計と、合計から20%を引いた数値を割り出す関数も、写真の数字で御願いします。

宜しくご教授お願い致します。

Aベストアンサー

こんばんは!
前回投稿した者です。

当方もかなり古い(人間も古い!なぁ~んちゃって!)Excel2003を使用しています。
↓の画像のようにSheet2にデータを作成しておきます。

#N/A というエラーは、「検索値」がない!ということですので
お示しの画像のB列にSheet2のA列にないデータを入力するとそういったエラーが表示されます。

画像のセル配置ですと
C4セルに
=IF($B4="","",VLOOKUP($B4,Sheet2!$A:$C,COLUMN(B1),0))
(「$」マークの位置に気を付けてください)
という数式を入れD4セルまでオートフィルでコピー!
そのまま最後の24行目までコピーしておきます。

F4セルには
=IF(COUNTBLANK(B4:E4),"",D4*E4)
という数式を入れ、F24までオートフィルでコピー!

これでB列に商品番号を入力すればSheet2のデータが反映され、
E列に数量を入力でF列に金額が表示されると思います。

最後に合計金額のF26セルは
=IF(COUNT(F4:F24),SUM(F4:F24),"")
手数料のF27セルは
=IF(F26="","",F26*0.2)

これで何とか形にならないでしょうか?

※ 振込金額の欄は不明ですので手を付けていません。

参考になりますかね?m(_ _)m

こんばんは!
前回投稿した者です。

当方もかなり古い(人間も古い!なぁ~んちゃって!)Excel2003を使用しています。
↓の画像のようにSheet2にデータを作成しておきます。

#N/A というエラーは、「検索値」がない!ということですので
お示しの画像のB列にSheet2のA列にないデータを入力するとそういったエラーが表示されます。

画像のセル配置ですと
C4セルに
=IF($B4="","",VLOOKUP($B4,Sheet2!$A:$C,COLUMN(B1),0))
(「$」マークの位置に気を付けてください)
という数式を入れD4セルまでオートフィルで...続きを読む

Qエクセル 92列の項目と3000行の並び替え

VBA初心者です。緊急の仕事で困ってまして、教えていただきたいということで質問します。
エクセルの表に92列の項目があって、3000行のデータを並べ替えようとしてます。
一行につき、A列にはID、B列には4月、Q列5月、AF列6月、AU列7月、BJ列8月、BY列9月というように半期分のデータが一行に並んでいます。それぞれの月ごとに14列の項目の内容があります。
その一行のデータ下に5行追加し、A列には、IDをそれぞれ5ヶ月分コピーします。
次に挿入した行の1行目B列に5月分のデータを移動させ、挿入行の2行目B列に6月分のデータを移動させるようにして、9月分まで繰り返します。
そうした作業を3000行行いたいのですが、手作業だと厳しいので、いい考えがあればと思い質問いたしました。

行の挿入は、調べて分かったのですが、月ごとに列を揃える方法がわかりません。
Sub 行の挿入()
Dim i As Long
For i = Cells(Rows.Count, "A").End(xlUp).row To 2 Step -1
Rows(i).Resize(5).Insert ’5行追加する
Next
End Sub

(例)
A列 B列 C列 ~ P列
ID  4月  ~ 
ID 5月  ~
ID 6月  ~
ID 7月  ~
ID 8月  ~
ID 9月  ~
ID  4月 ~
ID 5月  ~ 
上記の内容を3000件繰り返す

移動のさせ方をご教授願います。よろしくお願いします。

VBA初心者です。緊急の仕事で困ってまして、教えていただきたいということで質問します。
エクセルの表に92列の項目があって、3000行のデータを並べ替えようとしてます。
一行につき、A列にはID、B列には4月、Q列5月、AF列6月、AU列7月、BJ列8月、BY列9月というように半期分のデータが一行に並んでいます。それぞれの月ごとに14列の項目の内容があります。
その一行のデータ下に5行追加し、A列には、IDをそれぞれ5ヶ月分コピーします。
次に挿入した行の1行目B列に5月分のデータを移動させ、挿入行の2...続きを読む

Aベストアンサー

こんばんは!

元データはSheet1にあり、Sheet2に表示させるとします。
データは1行目からあるという前提で・・・
標準モジュールにしてください。

Sub Sample1()
Dim i As Long, j As Long, cnt As Long
Dim lastRow As Long, wS As Worksheet
Set wS = Worksheets("Sheet1")
Application.ScreenUpdating = False
With Worksheets("Sheet2")
.Cells.Clear
wS.Range("A1").CurrentRegion.Copy .Range("A1")
lastRow = .Cells(Rows.Count, "A").End(xlUp).Row
.Range("A:A").Insert
With Range(.Cells(1, "A"), .Cells(lastRow, "A"))
.Formula = "=row()"
.Value = .Value
For cnt = 1 To 5
.Copy .Cells(Rows.Count, "A").End(xlUp).Offset(1)
Next cnt
End With
.Range("A1").CurrentRegion.Sort key1:=.Range("A1"), order1:=xlAscending, Header:=xlNo
.Range("A:A").Delete
For i = 1 To .Cells(Rows.Count, "A").End(xlUp).Row Step 6
cnt = i
For j = 17 To .Cells(i, Columns.Count).End(xlToLeft).Column Step 15
cnt = cnt + 1
.Cells(cnt, "A") = .Cells(i, "A")
.Cells(i, j).Resize(, 15).Cut .Cells(cnt, "B")
Next j
Next i
.Activate
End With
Application.ScreenUpdating = True
MsgBox "完了"
End Sub

こんな感じではどうでしょうか?m(_ _)m

こんばんは!

元データはSheet1にあり、Sheet2に表示させるとします。
データは1行目からあるという前提で・・・
標準モジュールにしてください。

Sub Sample1()
Dim i As Long, j As Long, cnt As Long
Dim lastRow As Long, wS As Worksheet
Set wS = Worksheets("Sheet1")
Application.ScreenUpdating = False
With Worksheets("Sheet2")
.Cells.Clear
wS.Range("A1").CurrentRegion.Copy .Range("A1")
lastRow = ...続きを読む

Qエクセル(Excel) 納品書の作り方【改めて】

昨日http://oshiete.goo.ne.jp/qa/7348426.htmlで質問させていただき、詳しくご回答いただき少し進んだのですが、状況が変わったので改めて質問させていただきます。

■エクセル(Excel)で納品書の作成をしています。
シート1に納品書、シート2に商品マスタ(一覧)を作っていて、シート2の一覧を反映させて
納品書に番号を打ち込むだけで、商品名・単価までが出るシステムを作りたいのですが、
昨日のご回答の中の「VLOOKUP」?を入れて、自分なりにマス目の数字を変えてやってみたのですが
反映されずN/?のようなエラーになってしまいます。

※画像が貼り付けてあります。商品名は1番以外伏せさせていただいています。
くっつけてありますが、左側がシート1・右側がシート2です。

1、上記のように、シート2との関連付けの係数を、写真の場合の数字で教えてください。

2、合計と、合計から20%を引いた数値を割り出す関数も、写真の数字で御願いします。

宜しくご教授お願い致します。

Aベストアンサー

画像がいまいちよく見えないのですが、納品書の項目は左から、No、商品番号、商品名、単価、数量、金額でいいのでしょうか(名前は多少違っていても意味があっていればもんだいないです)

でしたら、
C1セルに=IF(ISBLANK(B2),"",VLOOKUP(B2,Sheet2!$A$2:$C$200,2,FALSE))
D1セルに=IF(ISBLANK(B2),"",VLOOKUP(B2,Sheet2!$A$2:$C$200,3,FALSE))
E1セルは空白で
F1セルに=IF(D2="","",D2*E2)
といれて、C1からF1までをコピーしてその下の行にタテに貼り付ければ出来ますよ。
おそらくエラーが出たのは、コピーしたときにVLOOKUP関数の最初のセルの指定がずれてしまっているのでは無いかと思いますよ。     

QExcelで指定の順序で列の並び替えを行いたい

Excelで

1  2  3  4  5  6  7  8  9  10 ・・・100
A班 B班 C班 D班 E班 F班 G班 H班 I班 J班
50 20 23 22 10 35 62 21 16 15

という並びのものを列を入れ替えて、

1  2  3  8  5 16 17  4  9  10 ・・・100
A班 B班 C班 H班 E班 P班 Q班 D班 I班 J班
50 20 23 21 10 55 41 22 16 15

というように毎回指定の順序で列の並び替えを行いたいと考えています。 
それぞれの列には100行程度データがぶら下がっています。

手作業で入替を行うと毎回時間がかかるため、一回フォームを作って
自動化したいのですが、方法がわかりません。
VBAかプログラムを使えばできそうな気がするのですが、
何か参考になるものがあれば教えていただけるとありがたいです。

Excelの列の入れ替えツールを探したところ、「入替え君」「DB構造変更「そよ風」」
といったツールがありましたが、自動化できるものはありませんでした。

よろしくお願いします。

Excelで

1  2  3  4  5  6  7  8  9  10 ・・・100
A班 B班 C班 D班 E班 F班 G班 H班 I班 J班
50 20 23 22 10 35 62 21 16 15

という並びのものを列を入れ替えて、

1  2  3  8  5 16 17  4  9  10 ・・・100
A班 B班 C班 H班 E班 P班 Q班 D班 I班 J班
50 20 23 21 10 55 41 22 16 15

というように毎回指定の順序で列の並び替えを行いたいと考えています。 
それぞれの列には100行程度データがぶら下がっています。

手作業で入替を...続きを読む

Aベストアンサー

検証してみましたが、特にVBAを使わなくてもできると思います。VBAも、簡単なコードで済みますが、指定順序を100個ともなると、ユーザー設定で、コードを入れるのにも、間違えずに入れていただくにも大変です。

毎回の指定順序があるなら、まず、その指定順序番号をどこかに用意してください。(ワークシート上です)

ただし、文字列でなくてはいけませんから、数字は、書式で、「文字列」にしておいてください。1度、設定したら、毎回設定する必要ありません。

その文字列の行を、ツール-オプション-ユーザー設定リストを開けて、
リストの取り込み元範囲で、その範囲を決定して、「インポート」してください。
(不要になったら、リストの中から選んで、削除できます)

*正しく設定されたかリストの中を確認してください。

次に、並び替えする範囲を選択してから、
 データ-並べ替え-オプション-
 並べ替え順序 の指定で、

先ほどの数字を選んでください。

方向は、列単位

「OK」
で並び替えが終了します。
(並べ替えデータは、特に、数字が、文字列になっていなくてもよいようです)
**
それを、マクロ化されたいのでしたら、記録マクロで十分だと思います。

既に設定された順序があれば、おそらく専門的なプログラムよりも、はるかに良いものが出来上がるはずです。

検証してみましたが、特にVBAを使わなくてもできると思います。VBAも、簡単なコードで済みますが、指定順序を100個ともなると、ユーザー設定で、コードを入れるのにも、間違えずに入れていただくにも大変です。

毎回の指定順序があるなら、まず、その指定順序番号をどこかに用意してください。(ワークシート上です)

ただし、文字列でなくてはいけませんから、数字は、書式で、「文字列」にしておいてください。1度、設定したら、毎回設定する必要ありません。

その文字列の行を、ツール-オプション-...続きを読む

Qエクセル2007でプルダウンで選んだものに反応

Excel2007でプルダウンで選んだものに反応して隣のセルが自動入力される方法(エクセル2007)
A1をプルダウンで「猫」「犬」から選べるようにし、「猫」を選んだ場合B1に自動に「111」が、「犬」を選んだ場合B1に自動に「222」と入力されるようにしたいです。
ご教授の程、宜しくお願いします。

Aベストアンサー

VLOOKUP関数での方法です。
(1)別シートに入力文字列と対応コード表を作成。(仮にSheet2のA:B列範囲で順不同)
(2)B1に=IF(COUNTIF(Sheet2!A:A,A1),VLOOKUP(A1,Sheet2!A:B,2FALSE),"")を設定
   入力文字列が存在しない場合は空白としています。

Qエクセルで、複数の列にまたがった情報を、一つの列の情報を元に並び替えを

エクセルで、複数の列にまたがった情報を、一つの列の情報を元に並び替えをした場合、
同じ行のデーターを同時に移動する方法を教えてください。

例えば、
列に、名前、誕生日、住所などの複数のデータを入力する設定をして、
行に、それぞれ個人のデータを入力します。
そのあと、名前を降順で並び替えをした時に、
誕生日や住所なども一緒に移動する方法を教えてください。

列ごとに、並び替えをする方法は分かるのですが…。

よろしくお願い致します^^

Aベストアンサー

並び替え対象にするすべてのデータ範囲を選択してから、名前の列を「最優先されるキー」に指定して並び替えてみてください。


人気Q&Aランキング

おすすめ情報