Excel
行入れ替え

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

A 回答 (3件)

行を選択して、選択した枠にマウスカーソルを合わせてドラッグ アンド ドロップ。


このとき、Shiftキーを押しながら行うと、選択した行を移動先に「挿入」することができるので、
結果的に行を入れ替えることができます。

…こういう事じゃなくて?
だったら「並べ替え」を行いましょう。
    • good
    • 0

行「列」入れ替えなら、コピーして形式を選択して貼り付けの中の「行列入れ替える」で貼り付けるのが一番簡単。



行単位で別の行間に挿入したいなら、行選択→選択範囲の端っこにカーソルを持っていき、上下左右に矢印がでたところでShiftキーを押しながら入れたい位置にドラッグ。

もうちょっと説明してもらわないとねぇ。
    • good
    • 0

>Excel


>行入れ替え
これだけでは、何を答えれば良いのかわかりません。

>Excel
>行入れ替え
これだけなら、どうぞ後勝手に入れ替えてくださいというしかないです。

何をどのようにしたいのかを、もう少し具体的に説明してください。
    • good
    • 1

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

このQ&Aを見た人はこんなQ&Aも見ています

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

QExcelで関数を使って計算したいです

Excelを使い、A列に数値、B列に◯、×のどちらかを入力します。
B列が◯だった場合のA列の数値を足し算したいのですがやり方が分かりません…
ぜひ教えていただきたいです。
よろしくお願いします。

Aベストアンサー

質問文の確認ですが,B列で○と判定された同じ行のA列の値を全て加算するという事で宜しいですか?
関数は下記の通りです.
=SUMIF(B:B,"○",A:A)

Qエクセル関数

エクセル Sheet1のa列の値が、Sheet2のb列にある場合、Sheet2のc列の値をSheet1のd列に入力する方法教えて下さい

Aベストアンサー

こんにちは!

データは1行目からあるとします。

D1セルに
=IFERROR(VLOOKUP(A1,Sheet2!B:C,2,0),"")
または
=IFERROR(INDEX(Sheet2!C:C,MATCH(A1,Sheet2!B:B,0)),"")という数式を入れ
フィルハンドルで下へコピーしてみてください。m(_ _)m

Qエクセルの計算式

エクセルが次のようになっています。

A列  B列  C列  D列  E列 F列  G列
1000     伺1712345    計算式


A列に1000、D列に伺1712345 と記載されており

G列には次の式が入っており、E1D72345と表示されます。

=IF(D11="","",IF(A11="","",IF(A11="2950","I",IF(A11>"2999","F",IF(A11>"1999","D","E")))&IF(E11="0","2","1")&
IF(LEFT(D11,1)="伺",IF(A11>"3044","K",IF(A11>"2999","I",IF(A11>"1999","G",IF(LEFT(D11,3)="伺ek","E","D")))),
IF(A11>"3044","J",IF(A11>"2949","H",IF(A11>"1999","F",IF(LEFT(D11,2)="ek","C","B")))))&IF(AND(LEFT(D11,1)
="伺",A11<"3000"),LEFT(RIGHT(D11,6),1)&RIGHT(D11,4),RIGHT(D11,5))))

この式をD列の下5桁が埋まっている場合はE1D72345をE1Z72345(DをZに変える)にしたいのですが式をどのように変更すればよいでしょうか。

要は以下のようにしたいのです。

D列が伺1702345の場合はG列はE1D71345となる(現状の式でOK)

D列が伺1712345の場合はG列はE1Z71345となる(現状の式を変更しなければならない)


宜しくお願いします。

エクセルが次のようになっています。

A列  B列  C列  D列  E列 F列  G列
1000     伺1712345    計算式


A列に1000、D列に伺1712345 と記載されており

G列には次の式が入っており、E1D72345と表示されます。

=IF(D11="","",IF(A11="","",IF(A11="2950","I",IF(A11>"2999","F",IF(A11>"1999","D","E")))&IF(E11="0","2","1")&
IF(LEFT(D11,1)="伺",IF(A11>"3044","K",IF(A11>"2999","I",IF(A11>"1999","G",IF(LEFT(D11,3)="伺ek","E","D")))),
IF(A11>...続きを読む

Aベストアンサー

長さの問題ではないですね。
IF(IF(IF(IF(…という形で、関数の中に関数の中に関数…というのが、限界の数になったようです。
(中に入れる形を取らなければ、長さはもっと長くなっても問題ないです)
であるならば、中身を分解して書き直さないといけませんね。

今回IF(LEFT(RIGHT(D11,5),1)="0","D","Z")を増やしたので、最高でも3つ減らせれば問題なく動くかと。
一番手っ取り早いのは、隣のセルにでも
=IF(LEFT(RIGHT(D11,5),1)="0","D","Z")
と入力し、これを加えた部分(元の"D"の部分)にそのセルのセル番地(A1など)を入力することですね。
条件に該当する場合のみ、そのセルに表示されたデータ("D"or"Z")を参照し、条件に該当しない場合はそのセルに何が表示されていても関係ない。ことになります。

QExcelのセルの書式設定で質問です。

いつもExcelで悩んだ時にお世話になっています。
今回はセルの書式設定で助けていただきたいです。
前回ご教授いただき、1商品の価格に対して60万行あるデータベースから該当するJANコードを抜きだし一つのセルに改行して納めることができました。
それで作成されたものが添付画像のようなもので、セル内で改行して価格と13桁のJANコード(1価格に1~20くらい)があります。
このようなセルが何千とあります。
すると桁区切りに設定していた価格の,がなくなりました。
設定し直しても変わりません。
ググってユーザー定義から Ctrl+J でセル内の各行に定義を設定するという方法を知りました。
手探りで1行目の価格に#,##を、残りのJANコード行に標準/Gを設定してみましたが出来ません。
試しにJANコード部を#############にしてみましたが桁区切り点は付きません。
今は一つ一つクリックして手動で付けています。
どのようなユーザー定義を設定すれば可能でしょうか?
またJANコード数は価格(商品)によって違います。
最大数のユーザー定義を設定して貼り付ければすべてのセルに設定できるでしょうか?
例えば20行分の書式設定をしたものを1行しかコードがないセルに貼り付けても問題ないでしょうか?
ご教授お願いします。

いつもExcelで悩んだ時にお世話になっています。
今回はセルの書式設定で助けていただきたいです。
前回ご教授いただき、1商品の価格に対して60万行あるデータベースから該当するJANコードを抜きだし一つのセルに改行して納めることができました。
それで作成されたものが添付画像のようなもので、セル内で改行して価格と13桁のJANコード(1価格に1~20くらい)があります。
このようなセルが何千とあります。
すると桁区切りに設定していた価格の,がなくなりました。
設定し直しても変わりません。
ググっ...続きを読む

Aベストアンサー

前回の質問を見ていないので,どの様にして1つのセルに改行して数値(属性としては文字)を入れたか分かりませんが,おそらく書式設定ではなく,データを入れる部分を直さないといけないと思います.多分,
=A1&CHAR(10)&A2
みたいな関数で折り返し表示しているのだと思いますが,これを以下の関数にするとカンマが付きます.
=TEXT(A1,"#,###")&CHAR(10)&TEXT(A2,"#,###")

Qエクセル 新たな名前を入れたら別のセルに自動で表示される方法

例えば
A B C D H
猫 犬 象 鳥 猫2
犬 猫 鳥 鳥 犬4
象 犬 犬   象2
        鳥3

上の表のD4に亀と入れると、鳥の下に亀と表示され、亀の数も計算されるように作りたいです。
今のところ、カウント数は、猫の場合は =COUNTIF(A1:D90,"猫") というような数式を使っています。
宜しくお願いいたします。

Aベストアンサー

何度もごめんなさい。

No.2の数式でH4セルの数式が間違っていました。
=IFERROR(INDEX(B:F,INT(SMALL(Sheet2!A:E,ROW(A1))/1000),MOD(SMALL(Sheet2!A:E,ROW(A1)),1000)),"")

にしてください。
どうも失礼しました。m(_ _)m

Qエクセルについて質問です

仕事で仕入先からの交渉データを作成していて見やすいように
追加しようと考えていますが一部分からないところがあります。

■現状
シート1(件名一覧表)
シート2(交渉内訳)

■追加シート3(個別件名の確認用シート)

やりたいことはシート2(交渉内訳)に
C列に注文番号のコード
D列にメーカーコード
E列に仕入先名
F列にメーカーごとの定価金額
H列に担当者が交渉したメーカーごとの原価金額
K列に私が交渉したメーカーごとの原価金額
があります。
C列の注文番号を入力すれば
個別件名シートで見れるように

上記データを元に
追加シート3(個別件名の確認用シート)に
交渉内訳シートのC列、D列、E列、F列、H列、K列が
反映されるようにしたいです。

=VLOOKUP(A2,交渉内訳!B7:E2049,3,0)と
入力すると全てが同一仕入先になってしまい
各仕入先が表示されません。

なかなか文章で説明が難しく詳細もコンプライアンス上なかなか
表示出来ませんので答えにくいかも

Aベストアンサー

=VLOOKUP(A2,交渉内訳!B7:E2049,3,0)で、
A列には検索したい日付が入っているなら、
VLOOKUPの中身としては、交渉内訳シートのB列でその日付を検索し、3番目=D列のデータを表示。
(D列=メーカーのコード)

>全てが同一仕入先になってしまい各仕入先が表示されません。
上記式で表示されるのはメーカーのコードであり、仕入先名ではないですよ?
メーカー=仕入先なのでしたら、同一日に複数の案件があり、全ての日に全てのメーカーのデータがあるとか?

>正:B列に注文番号のコード
B列の中からA2(日付)を検索しているのに、B列には注文番号が入っているのですか?
それでしたら、一致するものがない為、近似として扱われたデータが表示されているのかもしれません。
完全一致で検索するとして、VLOOKUPの最後の0(TRUE扱い)を1(個人的には1よりFALSEと書く方が見た時わかりやすいので推奨)にしてみてください。
VLOOKUPの場合、近似よりも完全一致で検索する場合の方が多いと思いますし、それだと検索範囲を昇順に並べ替える必要もなくなります。

>注文番号を入力すれば個別件名シートで見れるように
7~2049行にデータがあるとして、
=VLOOKUP($AA2,交渉内訳!$B$7:$K$2049,2,FALSE)
AA2は検索したい注文番号の入力されたセルの事です。該当するセルに変更してください。
B列の1~6行目に注文番号と重複するデータが確実にないのであれば、
=VLOOKUP($AA2,交渉内訳!$B:$K,2,FALSE)
とした方が良いです。(データが増えても範囲を変更せずに済むので。

とりあえず、これはB列を1列目として2列目=C列のデータを表示させる式です。
C列は結局何が入っているのかわかりませんが、とりあえずC列、D列、E列、F列、H列、K列を表示させる式を書きますね。

C列:=VLOOKUP($AA2,交渉内訳!$B:$K,2,FALSE)
D列:=VLOOKUP($AA2,交渉内訳!$B:$K,3,FALSE)
E列:=VLOOKUP($AA2,交渉内訳!$B:$K,4,FALSE)
F列:=VLOOKUP($AA2,交渉内訳!$B:$K,5,FALSE)
H列:=VLOOKUP($AA2,交渉内訳!$B:$K,7,FALSE)
K列:=VLOOKUP($AA2,交渉内訳!$B:$K,10,FALSE)
となります。
元の表とシートの様式を同じにしていれば、
B列に注文番号のコードを入力するとして、
C2=VLOOKUP($B2,交渉内訳!$B:$K,COLUMN()-1,FALSE)
これをコピーするだけで済みます。
G,I,J列が不要であれば非表示にすればいいのです。1列1列何列目を抽出するかを数える必要はなくなります。

文章だけで間違いも含め可能な限り読み砕いたつもりです。参考まで

=VLOOKUP(A2,交渉内訳!B7:E2049,3,0)で、
A列には検索したい日付が入っているなら、
VLOOKUPの中身としては、交渉内訳シートのB列でその日付を検索し、3番目=D列のデータを表示。
(D列=メーカーのコード)

>全てが同一仕入先になってしまい各仕入先が表示されません。
上記式で表示されるのはメーカーのコードであり、仕入先名ではないですよ?
メーカー=仕入先なのでしたら、同一日に複数の案件があり、全ての日に全てのメーカーのデータがあるとか?

>正:B列に注文番号のコード
B列の中からA2(日付)を検索...続きを読む

QExcel セルの値 セル番号として呼び出し

Excelでセルに出力されている数をセルの番号として仕様し計算することは可能でしょうか?
たとえば「A1」に『4』、「B4」に『5』と打ち込んだ場合に「C1」で【「B4」の『5』】「A1」で打ち込んだ『4』を使って呼び出すことができますか?
説明ご下手で申し訳ないのですが理解していただける方お願いします。

Aベストアンサー

No.3・6です。

投稿後もう一度補足を読み返して・・・

要するにA3セル以降のデータを二つずつ表示したい!というコトですよね?
そうであれば

C3セルに
=IF(COUNTA(A$3:A$1000)*2<ROW(A1),"",INDEX(A$3:A$1000,INT(ROW(A2)/2)))
または
=IF(COUNTA(A$3:A$1000)*2<ROW(A1),"",OFFSET(A$3,INT((ROW(A1)-1)/2),,1))

という数式を入れフィルハンドルで下へコピーしてみてください。m(_ _)m

Qエクセルのマクロや関数について、ランダムに抽出する方法を探しています

エクセルのマクロや関数について、ランダムに抽出する方法を探しています。

例えばシート1のA列には
1:かっこいい
2:レザー
3:男性用
4:カラー豊富
5:手帳型
6:シンプル
7:~
と言ったよう文字列があり

同じシート1のB列には
1:かわいい
2:花柄
3:カラー豊富
4:レザー
5:手帳型
6:クロコダイル調
7:~

といったような文字が各セルに入力されているとします。
それぞれの列の1行目はテーマのようになっていて
これをシート2で 「かっこいい」を選択してマクロボタンを押したり関数などで
シート1の文字列からランダムで「かっこいい」の列のワードを3つとか4つピックアップして
シート2でかっこいいを選択した横のセルなどに表示させたいのです。

とても分かりにくくて申し訳無いのですが、
テーマに沿ったキーワードが大量にあり、
別シートにてテーマを選択するとそのテーマに沿ったキーワードが複数ピックアップされるような仕組みを模索しています。


もしお分かりになる方、なにかヒント的なものでも思いついた方がいればお教えいただければと思います。何卒よろしくお願いいたします。

エクセルのマクロや関数について、ランダムに抽出する方法を探しています。

例えばシート1のA列には
1:かっこいい
2:レザー
3:男性用
4:カラー豊富
5:手帳型
6:シンプル
7:~
と言ったよう文字列があり

同じシート1のB列には
1:かわいい
2:花柄
3:カラー豊富
4:レザー
5:手帳型
6:クロコダイル調
7:~

といったような文字が各セルに入力されているとします。
それぞれの列の1行目はテーマのようになっていて
これをシート2で 「かっこいい」を選択してマクロボタンを...続きを読む

Aベストアンサー

> 各列にどんどん無限に足されていくので
Excelの列数自体が有限ですから 無限に増えることはありません。
あまり条件を無駄に広げるのは良くないと思います。

Sub Macro1()
Dim xKey As String, i As Long, tf As Boolean
Dim xRng As Range, yRng As Range, y As Range
Dim lr As Long, lc As Long, ac As Long
Dim xStr As String
Const xCnt As Integer = 3 '抽出数

With ThisWorkbook.Worksheets("Sheet2")
xKey = .Range("A1").Value
Set yRng = .Range("B1").Resize(, xCnt)
End With

With ThisWorkbook.Worksheets("Sheet1")
lc = .Cells(1, .Columns.Count).End(xlToLeft).Column
tf = False
For i = 1 To lc
If .Cells(1, i).Value = xKey Then
tf = True
ac = i
Exit For
End If
Next i
If tf = False Then
MsgBox "該当するキーワードがありません。", vbCritical
Exit Sub
End If
lr = .Cells(.Rows.Count, ac).End(xlUp).Row
If lr - 1 <= xCnt Then
MsgBox "候補が規定数未満です", vbCritical
Exit Sub
End If
Set xRng = .Range(.Cells(2, ac), .Cells(lr, ac))
End With

For Each y In yRng
Do
y = xRng(WorksheetFunction.RandBetween(1, lr))
Loop Until WorksheetFunction.CountIf(yRng, y) = 1
Next y
Set xRng = Nothing: Set yRng = Nothing
End Sub

> 各列にどんどん無限に足されていくので
Excelの列数自体が有限ですから 無限に増えることはありません。
あまり条件を無駄に広げるのは良くないと思います。

Sub Macro1()
Dim xKey As String, i As Long, tf As Boolean
Dim xRng As Range, yRng As Range, y As Range
Dim lr As Long, lc As Long, ac As Long
Dim xStr As String
Const xCnt As Integer = 3 '抽出数

With ThisWorkbook.Worksheets("Sheet2")
xKey = .Range("A1").Value
Set yRng = .Range("B1").Resize(, xCnt)
End W...続きを読む

Q2週間悩んでます。EXCELの並べ替えです。

下の表を数式で右(G)のように並べ替えたいのですがご教授お願い致します。

A  B  C         G
1  0  0         1
2  0  0         2
3  1  a         a
4  0  0         3
5  1  b         4
6  0  0         b
7  0  0         5
8  0  0         6
9  1  c         7
10  0  0         8
-------------------------------- c
-------------------------------- 9
-------------------------------- 10

どうしても4の処で引っかかってしまいます。
よろしくお願いいたします。
------- はG列が左に寄ってしまうので書いてます。
無視して結構です。

Aベストアンサー

ん?…
こちらではきちんと並んだのですが…

D列は上から順に1,2,4,5,7,8,9,10,12,13と表示されてますでしょうか?

G列の
=IF(COUNTIF(AD:AD,ROW())=0,INDIRECT("AC"&MATCH(ROW()-1,AD:AD,FALSE)+1),MATCH(ROW(),AD:AD,FALSE))
は入力ミスなく一致していますね?
aが入力されているのはC3、bはC5、cはC9で、その左は1、B・C列の他の行は0、A列は行番号ですね?

とりあえず中身を分解して確認してみましょう。
表示のずれている3行目の、どの列でもいいので、次の式を入力して、それぞれに表示されるものを教えてください。

=COUNTIF(D:D,ROW())
これはD列にその行番号が含まれている数を算出しています。3は含まれていないハズですので0であれば正解です。

=MATCH(ROW()-1,D:D,FALSE)
これは1つ上の行の行番号がD列の何行目にあるかを表示させる式です。
2行目の2なのでD2で一致し、2が表示されれば正解です。

=INDIRECT("C"&MATCH(ROW()-1,D:D,FALSE)+1)
これは先ほどの2に1を加えて3とし、C3のデータを表示させるものです。
C3はaであるので、aが正解です。

=MATCH(ROW(),D:D,FALSE)
これはCOUNTIFが0でなかった場合の式です。
なので確認する必要はないと思いますが、
そのセルの行番号をD列で検索し、何行目にあるかを表示します。
3はD列にないはずなので、エラーが正解です。

ん?…
こちらではきちんと並んだのですが…

D列は上から順に1,2,4,5,7,8,9,10,12,13と表示されてますでしょうか?

G列の
=IF(COUNTIF(AD:AD,ROW())=0,INDIRECT("AC"&MATCH(ROW()-1,AD:AD,FALSE)+1),MATCH(ROW(),AD:AD,FALSE))
は入力ミスなく一致していますね?
aが入力されているのはC3、bはC5、cはC9で、その左は1、B・C列の他の行は0、A列は行番号ですね?

とりあえず中身を分解して確認してみましょう。
表示のずれている3行目の、どの列でもいいので、次の式を入力して、それぞれに表示されるものを教えて...続きを読む

Qランダムに表示される空白を選択しない関数

お客様が購入された物だけが、表示される表があります。
E25は豆、E26は水、E27は草、E28は花と決まっています。

______E____F____G____H____I____
25____豆_____________購入商品は、
26___________________豆
27____草_____________草
28____花_____________花 
29___________________です。

______E____F____G____H____I____
25____豆_____________購入商品は、
26__________________豆
27__________________花
28____花_____________です。
29_____________________

H26以下に、購入した物だけ、行を詰めて表示して、最後に「です。」と
表示させたいです。

INDEX関数や、TRIM関数、いろいろ調べて試しましたが、
私にはできませんでした。
すごく長くなってもいいので、マクロではなく、関数でできないでしょうか?

ご教授よろしくお願いします。

お客様が購入された物だけが、表示される表があります。
E25は豆、E26は水、E27は草、E28は花と決まっています。

______E____F____G____H____I____
25____豆_____________購入商品は、
26___________________豆
27____草_____________草
28____花_____________花 
29___________________です。

______E____F____G____H____I____
25____豆_____________購入商品は、
26__________________豆
27__________________花
28____花_____________です。
29_____________________

H26以下に、購入...続きを読む

Aベストアンサー

こんにちは!

H25セルにはあらかじめ「購入商品は、」と入っているとします。
H26セルに
=IF(COUNTA(E$25:E$100)+1<ROW(A1),"",IF(COUNTA(E$25:E$100)>=ROW(A1),INDEX(E$25:E$100,SMALL(IF(E$25:E$100<>"",ROW(E$25:E$100)-24),ROW(A1))),"です。"))

配列数式ですので、Ctrl+Shift+Enterで確定!
H26セルのフィルハンドルで下へコピーしてみてください。m(_ _)m


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報