• ベストアンサー

エクセルについて教えていただきたいです。

エクセルについて教えていただきたいです。 こんにちは エクセルでマスターデータを作成していますがどうしてもわからないところがあるのでご教授願います。 セルに入れた値(変更可能)に応じてその入れた値の列数分他のセルに連続で入力されるというなんともわかりづらい悩みです。 A1に“10”と入力 B2から“10”列分のK2まで同じ値が(100と)入る  →ここの自動ではいる値(100)はC1で自動計算された値 A1を“20”としたらB2からU2まで100が入る この説明でわかるでしょうか。 よろしくお願いいたします。

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

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

>この数式をコピーして貼り付けたところ…できませんでした。  失礼しました、私の勘違いです。  B2から連続させる値は、B1の値ではなく、C1の値でした。  ですから、回答番号:ANo.2の数式ではなく、次の様な数式になります。 =IF(AND(ISNUMBER($A$1),$C$1<>""),IF(COLUMNS($B:B)>$A$1,"",$C$1),"")

lupin_the_third
質問者

お礼

kagakusuki様 お返事ありがとうございます。 確かにこの式でできました。 どの方法がいいのかわかりかねますが、たくさんの手助けをいただいて感謝しております。 ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (6)

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.6

>B2セル=IF(COLUMN(B2)<=$A$1+1,$C$1,"") >この方法で確かにできました。ただセルB2からずいぶん離れたら反映されなかったです。 上記のB2セルに入力する数式はB2セルを参照する数式になっていますが、COLUMN関数で単純に数字を取得しているだけですから、B2を使用する意味は全くありません。 すなわち、実際はどのセルに入力しても同じ数式(上記の数式ならB2セルを参照するような数式)を入力する必要があります。 普通なら以下のような1から始まる数値を参照できるようにした以下のような数式の方がわかりよいと思います。 この場合も、もちろんA1セルを参照しているわけではなく単純に1(その右の列なら2)を取得しているだけです。 =IF(COLUMN(A1)<=$A$1,$C$1,"") したがって、どのセルに入力する場合も、この式を入力して右方向にオートフィルする必要があるわけです。

lupin_the_third
質問者

お礼

MackyNo1様 この方法でできました!! 一見単純な式でできることに驚きです。 ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.5

No.3です! 前回のコードではその都度2行目のデータをDeleteで削除し、マクロを実行しなくてはならないので、 その手間を省くコードにしてみました。 Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim i As Long For i = 2 To Cells(2, Columns.Count).End(xlToLeft).Column Cells(2, i).ClearContents Next i For i = 2 To Cells(1, 1) + 1 Cells(2, i) = Cells(1, 3) Next i End Sub これで、データが変わるたびにマクロが実行されると思います。 何度も失礼しました。m(__)m

全文を見る
すると、全ての回答が全文表示されます。
  • beeba
  • ベストアンサー率49% (25/51)
回答No.4

No1の方の回答でよくって、 もしかしてExcel2003以前のバージョンで、256列オーバーしているとか、 >この方法で確かにできました。ただセルB2からずいぶん離れたら反映されなかったです。 離れたセルに、No1さんの式が入力されてないとか、そんなこと無いでしょうか? 当て嵌まらなかったらごめんなさい。

参考URL:
http://www.excel.studio-kazu.jp/tips/0016/
lupin_the_third
質問者

お礼

beeba様 お返事ありがとうございます。 ご指摘のとおりExcelは256列でオーバーしています。 ただ、256を超えていたとしてもA1から返されますのでこまっていました。 離れたセルに入力してもA1からなんです… ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

こんばんは! VBAになってしまいますが・・・ 一例です。 操作したいSheet見出し上で右クリック → コードの表示 → 白い画面が出ますので、 ↓のコードをコピー&ペーストしてマクロを実行して見てください。 ごくごく単純に質問内容だけをコードにしてみました。 Sub test() Dim i As Long For i = 2 To Cells(1, 1) + 1 Cells(2, i) = Cells(1, 3) Next i End Sub 尚、一旦マクロを実行すると元に戻せませんので 別Sheetで試してみてください。 的外れならごめんなさいね。m(__)m

lupin_the_third
質問者

お礼

tom04様 ありがとうございます。 残念ながらVBAについて詳しくはなく…トライしてみましたが難しかったです こういった方法もあることで勉強になりました。 難しい式をありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.2

 B2セルに次の数式を入力後、B2セルをコピーして、B3から右方向にあるセルに貼り付けると良いと思います。 =IF(AND(ISNUMBER($A$1),$B$1<>""),IF(COLUMNS($B:B)>$A$1,"",$C$1),"")

lupin_the_third
質問者

お礼

kagakusuki様 回答ありがとうございます。 この数式をコピーして貼り付けたところ…できませんでした。 自分のやりかたがわるかったのでしょうか。 申し訳ないです。 なにか気をつけるところがあったらまたご連絡お願いいたします。 お助け感謝しています。 ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。
  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.1

以下の方法ではいかがでしょうか。 B2セル=IF(COLUMN(B2)<=$A$1+1,$C$1,"") 以下、必要な分まで、右にB2セルをドラッグコピーする。

lupin_the_third
質問者

お礼

aokii様 早急なお返事ありがとうございます。 この方法で確かにできました。ただセルB2からずいぶん離れたら反映されなかったです。 やはり難しいのでしょうか。 C1の値も変動するとなるとさらにわからなくなるので… しかし返答がきたときは感動しました。 ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルに詳しい方、お願いします。

    エクセル(2003)についてですが、セルAかセルBに値が入力されると、その行A~Uまで塗りつぶしされるというようなことが自動(関数を使うなどして自動で)でできる方法がないか、探しています。また関数に書式を指示する単語など、わかりません。お手数ですが、お答えいただけると助かります。C~Uまで値が入っているので条件書式だと、うまく使えませんでした。参照したいのはAとBなのです。 長くなってしまい、質問文もわかりにくいかもしれませんが、よろしくお願いします。

  • EXCELに詳しい方

    EXCELに詳しい方、以下2点わかりましたら宜しくお願いします (1)セルA1に「食費」「交際費」と記載すると セルB1に記載されていたものが消える(空欄にする)ようにするにはどうすればいいでしょうか? セルB1に直接数字を入力したく関数を入れてしまうと数式が上書きされて消えてしまうので 関数ではない設定で方法はありますか? 条件付き書式でできるかな、と思いましたが設定できるのは書式だけで セルに入力していたものを消すことは不可能ですよね・・? (2)A1にアルファベットと数字の文字、C1には数字があるときに B1に1から連続した数字を自動的に割り振られるようにしたいです つまり A列   B列   C列 JKL456  1  3000       2   4003       3   5456       4   5894 S56D  1    8111       2   4512       3   6812 SJN2  1      5812       2   4213 ポイント A列とC列に入力されたときB列が1になる C列に入力されているとき上の1から連続した数字をもってくる A列とC列は自分で入力するがB列は自動で数字が入るようにしたい できたらマクロを使わないで設定できたらいいですが マクロを使わないとできないようであれば そのやり方も教えてください。 宜しくお願い致します。

  • エクセル Excel 関数or条件付き書式

    あけましておめでとうございます(*^_^*) 新年早々教えてください! セルに指定された値(文字列)を入力すれば 自動で別のシートの別のセルの書式が変更される (あるいは関数により自動で値が入力される) 方法を探しています! エクセルマスターの方お願いします! 【具体的に…】 シート1の セルA1に  指定された文字列(例-ねずみ)を 入力すれば    ↓ シート2の セルC10の 書式が 自動変更される(例-フォントが赤になる) もしくは 【具体的に…(2)】 シート1の セルA1に  指定された文字列(例-ねずみ)を 入力すれば    ↓ シート2の セルC10に 指定された値(例-厄年)が 自動入力される そんな方法を教えてください! どちらもできれば最高です!!

  • 関数中にセルに入力した値を反映させて計算を行いたい

    こんにちは Excelを用いた計算を行っているのですが 自分の知識では出来なかったために皆様の知恵を借りたいと思っています Excelで単純な足し算を行いたいのですが とあるセルに入力した値によって計算範囲を変更したものを作りたいと考えています 仮にA行1列からA行20列まで各セルに1,23…20と順番に1つの数字が各セルに入力されていたとします この時, B行1列のセルに5という数字が入力されていたら C行1列にA行1列数字とA行5列の数字の和が入力される (イメージとしたら結果として1+5より6が出力される) B行1列のセルに10という数字が入力されていたら C行1列にA行1列数字とA行10列の数字の和が入力される (イメージとしたら結果として1+10より11が出力される) ような関数を作りたいと考えています 自身の甘い考えで B行1列のセルに5という数字が入力されていたら C行1列にA行1列数字とA行5列の数字の和が入力されるのは C行1列に=A1+A(B1)と入力したら出来るのではないかと考えていたのですが どうもできないみたいです なにか方法等浮かぶ方がいらしましたら回答をお願いします

  • エクセルVBAについて

    以下の処理をマクロで実行しようと思っていますが、わからない部分があるので教えてください。 (例):  A B C D E F G 1 1 2  3  4 5  6  7 2 10 30 50 70 90 130 150 3 4 (1)1行目のどこかの連続したセル(例えばセルA1から セルD1)をドラッグする。 (2)マクロを実行する。 (3)セルA4に、「D2-A2」を計算した値が自動的に入力 される。この例では「70-10=60」  これは、(1)で例えばセルB1からF1をドラッグした場 合には、「F2-B2」を計算した値を入力したいので す。   要は、連続したセルを選択してその始点と終点のセルの行と列を取得できればこの処理はできると思うのですが、方法が分かりませんので教えてください。 よろしくお願いします。

  • エクセルの関数について教えてください。

    エクセルの関数について教えてください。 A2~U100まで、データが入っています。 U2~U100に結果を表示させたいのです。 J2~J100には、〇が入っているセルと入っていないセルがあります。 K2~K100には、〇が入っているセルと入っていないセルがあります。 L2=L100には、〇が入っているセルと入っていないセルがあります。 U2~U100に、結果を表示させたいのです。 J列には、〇が入っているのが条件で K列かL列のどちらかに〇が入っていた場合に U列に◎をつけたいのです。 U列に入れる関数を教えてください。

  • Excelの関数『IF』にて・・・

    EXCELにて、関数IFを使って一覧表から 自動入力をしたいと考えています。 例えば、以下のようにしてセル『C1』の数字に 応じて、自動を試みたい時 =IF($C$1>80,"=A1",IF($C$1>70,"=B1","=C1")) =A1,=B1,=C1 の場所を文字列としてしか読み取ってくれません =A1,=B1,=C1では無く=A1,=B1,=C1のセルに入力されてる 数式(他のセルの値)を、表示したいんですが どのようにすれば可能でしょうか? 何度やっても「=A1」と、そのまま文字列として出て来ちゃいます。

  • excelで次のようなことをチェックできますか?

    excelで次のようなことをチェックできますか? もし、合致していれば(真であれば)決められた得点を表示する というようなことです。 1.A3セルに入力した文字列が中央ぞろえされている。 2.A4に入力したデータは、’0120といように数字が文字列化されている。 3.B4セルには「セルポインタ」という文字列が入力されている。 3.A5セルに入力されている数式が=sum(b5:b11)である。値ではチェックしない。 4.A6セルに表示されている値が1234である(数式で表示)。 5.A7セルにrankで表示した値が 北海道 である。

  • エクセル色分け

    エクセル2010であるセル(A1)の値が以下の値に入力したときに 自動で隣のセル(B1)に右の値を入力して、かつその行全体(1行目)をB1の値に応じて 色分けするようにしたいのですが、そのやり方がわかりません。 445~475→000 400~430→00 355~385→0 310~340→1 265~295→2 220~250→3 175~205→4 130~160→5 85~115→6 どうかそのやり方を教えて下さい。

  • エクセルについて教えて下さい。

    はじめまして。 エクセルの式について、教えて下さい。 一つのセルに文字列を打つと、他のセルに自動的に数字を入力できるように出来ますか? 例えば、 B2  1 B3 発送 B4  1 B5  1 のように、B3に「発送」入力すると、自動的にB2、B3、B4のセルに「1」と入るようにしたいのです。 ただ、文字列は「発送」以外に、数種類あります。 文字列によって、返したい数値は「1」か「0」です。 また、文字を打たないで、アクセスにあるドロップダウンで選択できる機能は、エクセルにもありますか? B2からB5でひとつとし、200件分あります。 上司からは、エクセルでの管理を命じられています。 どうぞ、宜しくお願い致します。

専門家に質問してみよう