- ベストアンサー
エクセルで困ってます。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
1.B列を選択して1列挿入 2.セル B1 に式 =IF(A1,ROW(),"") を入力して、此れを下方にズズーッとドラッグ&ペースト 3.セル C1 に次式を入力して、此れを下方にズズーッとドラッグ&ペースト =IF(A1,OFFSET(A$1,SMALL(B:B,COUNT(A$1:A1)+1)-1,),"") 4.C列を選択して、[コピー]&[値の貼り付け]を実行 5.B列を削除
その他の回答 (4)
- keithin
- ベストアンサー率66% (5278/7941)
A1から数字が(飛び飛びに)記入されているとして B1にたとえば =IF(A1="","",INDEX(A2:A99,MATCH(1,INDEX(1/(A2:A99<>""),),0))) と記入,以下コピーしておきます。
お礼
解決しました。ありがとうございます。 またわからないことがありましたら、よろしくお願いします。
- shintaro-2
- ベストアンサー率36% (2266/6245)
>この矢印のようにA欄のランダムされた数字を隣のB欄へ前の数字の場所へずらして表示させたいのですが、 移動なのか、表示だけなのかはっきりさせてください。 1.列表示の”A”というところを右クリックしてコピー(か切り取り) 2.列表示の”B”というところを右クリックして貼り付け でOKです。 リンク貼り付けだと、A列を修正するとB列の値も変化しますが、 空欄の行に”0”と表示されてしまいます(表示形式の修正で対応可)。
お礼
解決しました。ありがとうございます。
- kagakusuki
- ベストアンサー率51% (2610/5101)
まず、B1セルに次の様な関数を入力して下さい。 =IF(ISNUMBER($A1),IF(COUNT($A$1:$A1)<COUNT($A:$A),SUM($A2:INDEX($A:$A,MATCH(9E+307,$A:$A)))-SUM(B2:INDEX(B:B,MATCH(9E+307,$A:$A))),""),"") 次に、B1セルをコピーして、B2セル~「『A列において数値が入力されている1番下の行』以下の行にあるB列のセル」のセル範囲に貼り付けて下さい。 尚、B1セルからコピーした関数を貼り付ける際に、もし貼り付け先の行範囲が「A列において数値が入力されている行の内、下から2番目の行」に達していない場合には、正しい結果を表示出来なくなりますので、B列の貼り付けを行う際には、表の中で「A列に数値が入力される可能性がある全ての行」のB列のセルの全てに、必ず関数が貼り付けられている様にして下さい。
お礼
はじめてエクセルの事で質問しました。 正直、この問題は7年前から出来ずに諦めていました。 考えても、考えても出来ずにどれだけ苦労し、どれだけめんどくさい入力作業をしていたことか・・・ 本当に本当に本当に感謝しています。 言葉で言い表せないくらいです。 また、わからない事がありましたら、その時はよろしくお願いします。 すみません、操作に慣れてなくて間違えて違う人をベストアンサーにしてしまいました。ですが貴方様が間違いなく、ベストアンサーです。間違えてすみません
- 中京区 桑原町(@l4330)
- ベストアンサー率22% (4373/19606)
「ランダムされた数字」・・・理解できません、解説をお願いします それから、A列からB列へ移動するルールを書いてください 「3行上げる」とか、「上から隙間無く詰める」とか............
補足
補足です。ランダムとはA列が決まって隙間なくでも無く、空白の行は決まっていません。 空白が3つの時とか、空白がない時もあります。 A列からB列へ移動するルールはA列の表示されている横へ移動させたいです。 よろしくお願いします。
お礼
はじめてエクセルの事で質問しました。 正直、この問題は7年前から出来ずに諦めていました。 考えても、考えても出来ずにどれだけ苦労し、どれだけめんどくさい入力作業をしていたことか・・・ 本当に本当に本当に感謝しています。 言葉で言い表せないくらいです。 また、わからない事がありましたら、その時はよろしくお願いします。