• ベストアンサー

エクセルで困ってます。

エクセルの関数で困っています。 図をご覧ください。 この矢印のようにA欄のランダムされた数字を隣のB欄へ前の数字の場所へずらして表示させたいのですが、 やり方がわかりません。どなたか教えてくださる方、いらっしゃいませんか? よろしくお願いします。

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

  • ベストアンサー
  • msMike
  • ベストアンサー率20% (364/1804)
回答No.2

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列を削除

mao1217
質問者

お礼

はじめてエクセルの事で質問しました。 正直、この問題は7年前から出来ずに諦めていました。 考えても、考えても出来ずにどれだけ苦労し、どれだけめんどくさい入力作業をしていたことか・・・ 本当に本当に本当に感謝しています。 言葉で言い表せないくらいです。 また、わからない事がありましたら、その時はよろしくお願いします。

その他の回答 (4)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.5

A1から数字が(飛び飛びに)記入されているとして B1にたとえば =IF(A1="","",INDEX(A2:A99,MATCH(1,INDEX(1/(A2:A99<>""),),0))) と記入,以下コピーしておきます。

mao1217
質問者

お礼

解決しました。ありがとうございます。 またわからないことがありましたら、よろしくお願いします。

  • shintaro-2
  • ベストアンサー率36% (2266/6245)
回答No.4

>この矢印のようにA欄のランダムされた数字を隣のB欄へ前の数字の場所へずらして表示させたいのですが、 移動なのか、表示だけなのかはっきりさせてください。 1.列表示の”A”というところを右クリックしてコピー(か切り取り) 2.列表示の”B”というところを右クリックして貼り付け でOKです。 リンク貼り付けだと、A列を修正するとB列の値も変化しますが、 空欄の行に”0”と表示されてしまいます(表示形式の修正で対応可)。

mao1217
質問者

お礼

解決しました。ありがとうございます。

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.3

 まず、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列のセルの全てに、必ず関数が貼り付けられている様にして下さい。

mao1217
質問者

お礼

はじめてエクセルの事で質問しました。 正直、この問題は7年前から出来ずに諦めていました。 考えても、考えても出来ずにどれだけ苦労し、どれだけめんどくさい入力作業をしていたことか・・・ 本当に本当に本当に感謝しています。 言葉で言い表せないくらいです。 また、わからない事がありましたら、その時はよろしくお願いします。 すみません、操作に慣れてなくて間違えて違う人をベストアンサーにしてしまいました。ですが貴方様が間違いなく、ベストアンサーです。間違えてすみません

回答No.1

  「ランダムされた数字」・・・理解できません、解説をお願いします それから、A列からB列へ移動するルールを書いてください 「3行上げる」とか、「上から隙間無く詰める」とか............  

mao1217
質問者

補足

補足です。ランダムとはA列が決まって隙間なくでも無く、空白の行は決まっていません。 空白が3つの時とか、空白がない時もあります。 A列からB列へ移動するルールはA列の表示されている横へ移動させたいです。 よろしくお願いします。