関数の質問

このQ&Aのポイント
  • エクセル2003でシート1に不規則な空白行があり、それをシート2に詰めて表示させたい。
  • 関数を使ってエクセル2003で不規則な空白行をシート2に詰めて表示する方法を教えてください。
  • エクセル2003のシート1にある不規則な空白行を関数を使ってシート2に詰めて表示させる方法について教えてください。
回答を見る
  • ベストアンサー

関数の質問

エクセル2003を使用しています。 下記のシート1に不規則な空白行があり、それをシート2に空白行を詰めて 表示させたいのですがわかりません。 関数でよろしくおねがいいいたします。 シート1 A B C D E F G 1 1 1 1 1 1 1 1 2 3 2 2 2 2 2 2 2 4 3 3 3 3 3 3 3 5 6 7 4 4 4 4 4 4 4 8 9 5 5 5 5 5 5 5 10 11 12 13 6 6 6 6 6 6 6 14 7 7 7 7 7 7 7 15 8 8 8 8 8 8 8 16 9 9 9 9 9 9 9 17 18 シート2 A B C D E F G 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 10 11 12 13 14 15 16 17 18 ・ ・ ・ ・

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

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

 今仮に、Sheet3のA列を作業列として使用するものとします。  まず、Sheet3のA1セルに次の関数を入力して下さい。 =IF(COUNTIF(Sheet1!$A1:$G1,"")=COLUMNS(Sheet1!$A:$G),"",ROW())  次に、Sheet3のA1セルをコピーして、Sheet3のA2以下に貼り付けて下さい。  次に、Sheet2のA1セルに次の関数を入力して下さい。 =IF(ISERROR(1/(INDEX(Sheet1!A:A,SMALL(Sheet3!$A:$A,ROWS($A$1:$A1)))<>"")),"",INDEX(Sheet1!A:A,SMALL(Sheet3!$A:$A,ROWS($A$1:$A1))))  次に、Sheet2のA1セルをコピーして、Sheet2のB1~G1の範囲に貼り付けて下さい。  次に、Sheet2のA1~G1の範囲をコピーして、同じ列の2行目以下に貼り付けて下さい。  以上です。

tackty
質問者

お礼

作業列を作成することによって理解しやすかったです。 ありがとうございました。

その他の回答 (1)

  • popuplt
  • ベストアンサー率38% (31/81)
回答No.1

sheet2のA1に =IF(ROW()<=COUNT(Sheet1!A:A),INDEX(Sheet1!A:A,SMALL(IF(Sheet1!$A:$A<>"",ROW(Sheet1!$A:$A),""),ROW())),"") Shift+Ctrl+Enter(配列数式) 下へコピー

tackty
質問者

お礼

回答ありがとうございました。

関連するQ&A

  • エクセルの関数で質問です

    エクセルで、下記の様に同じ文字やセルを移動する関数はありますでしょうか。 (1)をF列の  (1)に (2)を     (2)に (3)を     (3)に の様な感じで規則的に何十段も続けたいのですが。  A B C D E F G H 1 2(1)         (1) 3(2) 4(3)         5(4)         (2) 6(5) 7(6) 8(7)          (3) 9(8)          ・ ・ ・ よろしくお願い致します。

  • EXCEL関数についての質問です。

    EXCEL(2003)についての質問です。 関数にて、もし上行(※(1))のセルが空白の場合は空白、 そうでない場合は、2列隣(別シート)(※(2))のセルを返す。 ※(1)セル結合にて行を結合しています。 ※(2)同じ式(関数)ではじめのセル(結合されている)は、 A1次のセルはC1、E1、G1等1列飛ばしで参照。 としたいのですが、可能でしょうか? ちなみに添付画像のように結合行は可変します。 教えていただけると大変助かります。 例)    A            A    B    C    D    E    F    G 1 青森          青森       大阪       熊本 2 大阪 3 熊本   シート1                       シート2 宜しくお願い致します。

  • 【関数】エクセルでの時間の計算

    いつもお世話になっております。 エクセルでの時間の計算に関する質問です。 下記のような30行ぐらいの表があり、A,B,C,D列は手打ち、E,F,G列は関数が入力されています。 この場合D2は空白ですが、両方に15ずつ入力されている場合もあります。  A  B  C D    E     F        G 8:00 8:30 30 _ =(B2-A2)*24 =(C2+D2)/60 =IF(E2=F2,"〇","×") 結果、判定をしたいG列が〇になったり×になったりしますが、それがなぜなのか教えてください。

  • エクセルの関数での質問です

    エクセルの関数での質問です sheet1に A B  C  D  E 1 ○ ○ ○ 1 2 ○ ○ ○ 3 ○ ○ ○ 2 4 ○ ○ ○ みたいな状態からsheet2に A B  C  D  E 1 ○ ○ ○ 1 3 ○ ○ ○ 2 のようにE列の数値順に行を並べることはできますか? エクセル初心者なのでわかりやすく教えていただけると助かります。

  • エクセル関数

      A  B  C  D  E  F  G 1 10  1  20  1  30  1  8 2 9 2 0 - 0 - - 3 8 3 15 3 23 3 6 4 5 4 19 2 24 2 7 B=Aの順位 、 D=Cの順位 、 E=A+C 、F=Eの順位 、G=Fの得点 の時 G=Fが1の時8、2の時7・・・8の時1、9以下空白 Cが0(ゼロ)の時Dが空白 Eが0(ゼロ)の時Fが空白 上記の場合の関数をどなたか回答よろしくお願いします。 うまく表示できていませんがCとE以外は1桁の数字で、D,F,Gの-は空白です。

  • エクセルVBAで関数が入った空白セルの取得

    エクセルVBAで下記のようなセルの参照をしたいのですが、よろしくお願いします。(エクセル2002です)   A  B  C  D  E  F 1 78 80 セル(A1)(B1)には値も関数も入れられています。 セル(C1)(D1)(E1)には値は入っていませんが、ワークシート関数が組み込まれており空白となっています。(関数の""にて空白) セル(F1)には何も入力されていません。 今回はセル(B1)の80の値を取得できるようにVBAで下記のようにコードを組みました。 Range("F1").End(elToLeft).Activate そうすると、セル(E1)に関数があるために(?)(E1)がアクティブな状態となります。 関数が入力されていても空白として(B1)をアクティブな状態にするために良い方法はありますでしょうか? 誠に申し訳ございませんが、よろしくお願いします。

  • エクセル関数2

    シート(1) A B C D 作業列    コード    顧客名     金額 3        300001     A 10,000 3        300002   B 15,000 3        300003   C 20,000 3        300004   D 25,000 3        300005   E 30,000 4        400001   F 35,000 4        400002   G 40,000  4 400003 H 45,000 4 400004 I 50,000 4 400005 J 55,000         シート(2) A B C D E F 「1」 「2」 「3」 「4」 「5」 「6」 10,000 35,000 15,000 40,000 20,000 45,000 25,000 50,000 30,000 55,000 ※ シート(1)にコード、顧客名、金額を入力すると、シート(2)にあるように該当するコードの先頭行の列に表示するようにしたいと思っています。 シート1で作業列を作りその作業列を基にシート2でVLOOKUP関数を使い‥シート2の10,000のセルの場合、 VLOOKUP(C$2,sheet1!$A$3,$D$12,4,false)として、下にコピーすると同じ金額になってしまいます。 セルが空白にならず、シート1の金額が上から順番にシート2に表記されるようにするにはどうしたらよいでしょうか。マクロはできませんので、関数で詳しく教えて下さい。宜しくお願いします。

  • エクセルで空白セルを寄せたい

    エクセル2002使用です VBAは使わずに関数だけで空白セルがあるセルを詰めて表示したいのですが・・・   A|B|C|D|E|F|G 1 あ い う え お か き 2 ○   ○ ○   ○ の表を   A|B|C|D|E|F|G 1 あ う え か  2 ○ ○ ○ ○ のように表を書き換えたいのです。 1行目には必ず文字が入力されています。 2行目には入力されているセルと空白セルが不定期に入力されています。 2行目のセルが空白ならば、1行目のセルも削除して左へ詰めて 表を転記したいのです。 よろしくお願いします。

  • エクセルVBA及び関数

    初心者です。お教えお願いします エクセル2003です 空白行及び0をなくしたいのですが(C列を入力された時点で自動でE列のようにしたい) 関数の場合及びVBAのシートコードを両方教えていただけないでしょうか VBAのコードは勉強の為です Sheet1    A    B     C     D     E     F 16          文字A        文字A 17          文字B        文字B 18            0         文字C 19          文字C        文字D 20            0         文字E 21          文字D        文字F      22      23          文字E 24 25          文字F 文字はC16~C80まで入っております B16~E80までのセルのみで行いたいのですが 他の場所は関数やグラフ等がすでに入ってますのでいじりたくありません E16~をフォームのコンボボックスのリストにしようと思ってます よろしくお願いましす

  • IF関数についてです

    エクセル初心者です。 わかりづらかったらすいません。 たとえば A1*B1の結果をF1へ。 C1+D1+E1の結果をG1へ。 で、F1+G1の結果をH1へ。 という表を作っています。 で、結果が0の時に空白を返したいので、それぞれを IF(A*B=0、””、A*B)として、 IF(C1+D1+E1=0、””、C1+D1+E1)としています。 最後にF1+G1の結果も0、もしくは空白の時に空白を 返したいのですがどのように数式を入れればよいのでしょうか。 自分なりにいれてみましたがエラーがでてしまいます。 よろしくお願いいたします。

専門家に質問してみよう