• ベストアンサー

入力済みなら自動でインデント

今、お小遣い帳みたいなのを作っています。 で、下図のように、支出セル(C2)に金額が入力された時だけ、 その行の項目セル(A2)に、自動でインデント(□)を設定する …みたいなことって可能でしょうか? ┏━┯━━┯━━┯━━ ┃  │ A │ B │ C ┠─╋━━┿━━┿━━ ┃1 ┃項目│収入│支出 ┠─╂──┼──┼── ┃2 ┃□~│   │1000 ┠─╂──┼──┼── ┃3 ┃~  │1000│ ┠─╂──┼──┼── もしかして条件付き書式で出来るかな? と思ったけどインデントは無かったです。 簡単に出来るなら、やりたいので教えてください。 難しかったら諦めます。よろしくお願いいたします☆

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

  • ベストアンサー
  • zenjee
  • ベストアンサー率47% (50/106)
回答No.4

 やっと分かりました。要するに支出した項目については、一見して分かるように項目名の左にインデントを付け加えたいということですね。  であればそのインデントの文字を仮に「□」だと仮定して、D列(D2)に次の式を入力して下方又は別シートのD列にコピーし、その結果をNo.2で説明したように各シートのA列に値のみコピーされたらいいと思います。 =IF(AND(C2<>0,C2<>""),"□"&A2,A2) これは、C2(支出金額欄)が0でも空白でもない、言いかえると何らかの数値が入っているときは、既にA2に入力されている文字列の左に「□」を付け加え、そうでない(空白または0)のときはそのままの文字列を持ってくる、という意味です。  で、過去の分はそれでよいとして、今後の分をどうするかというと、お薦めは、A列の左に1列挿入し、(列が右に1列ずれるので)A2に次の式を入力します。 =IF(AND(D2<>0,D2<>""),"□","")  この方が多分見易いと思います。  別の方法は、別シートのA列に項目名(□を付け加えたものとそうでないもの)を縦に並べた項目一覧表を作り、A列を選択して、挿入→名前→定義をクリック、名前を例えば「項目」などと付け、参照範囲が「Sheet名!$A:$A」となっていること確認OKします。  元のシートに戻り、A列(項目列)を選択し、データ→入力規則→入力値の種類でリストを選択、元の値に「項目」と入力、空白を無視するにチェックし、OKします。  するとA列の右に▼が現れ、それをクリックすると項目名がドロップダウンリストとして現れるので、それを選択して項目名を入力する方法もあります。  以上の方法をいろいろと試されたらいかがでしょうか。

yuka_chan
質問者

お礼

えー、凄いです☆ 項目に何が入っててもインデントを付けられる式があったなんて。 「うそー」と思い、早速やってみたら出来ました♪ とっても面白いですね☆ これで過去の分は解決だし、他にも色々と活用できそうな気がします。 あと、項目の左側にもう1列つくるっていうアイディア、素敵です! 罫線で1コのセルみたいにすれば印刷でも同じに見えるだろうし… 何より、自動で なってくれるし☆☆ この方法で やろうと思います♪ ( 他の列の式がズレて変にならないか少し心配だけど;) それから、項目名がプルダウンリストとして出るっていうのは、 項目じゃなく別の列ですが「そんなふうに選べればいいのに」 ってところがあるので、どうにかして そっちに利用します。 100%タメになる情報ばかりで、とても勉強になりました。 エクセルも凄いし、ゼンジー?さんも凄いです(*^^*) 辛抱強く最後までお付き合い頂き感謝しております。 本当にどうもありがとうございました m(_ _)m

その他の回答 (3)

回答No.3

エクセルのバージョンが不明ですが、2002なら以下で可能です。 1.表のどこかのセルにカーソルがある状態で   データ>フィルタ>オートフィルタをクリック 2.「支出」のところにできた▼をクリックして   (空白以外のセル)を選択 3.「項目」列の文字が入っている部分を選択してインデント 4.データ>フィルタ>オートフィルタをもう一度クリックして元に戻す。 …でも、インデントよりフォントを太字にしたり文字の色やセルの色を変えるとかした方が見やすいような気がします。セルの幅も変えずに済みますし。

yuka_chan
質問者

お礼

ありがとうございます♪ エクセルは2000を使って作りましたが、2002も入ってるし、出来ると思います^^ できれば「条件付き書式」で設定した時みたくリアルタイムで変化すればいいなーと思うので、どうしても無理だったらウフウフエヘエヘさんの方法にします。 >> フォントを太字にしたり文字の色やセルの色を >> 変えるとかした方が見やすいような気がします。 ですよね(^^;) けど今、銀行に預けたり引き出したりした時 そうなるようにしてるので、これ以上あると、かえって分かり辛くなりそうだったのですー

  • zenjee
  • ベストアンサー率47% (50/106)
回答No.2

>既に何ヶ月分か入力済みなので、その方法だと凄く手間がかかっちゃいそうです  どうも意味が分かりかねますが、次の点で不明な点があるので差し支えなければ補足していただけませんか。 1、入力済みのA列には、「□~」、「~」以外に他の文字列も入っているのでしょうか。あるいは何も入ってないのでしょうか。 2、何ヶ月分というのはブック(ファイル)が何個かあるのか、又はSheetが何個かあるのか、若しくはSheetは1個だけど行がものすごくたくさんある、のどちらでしょうか。それぞれ個数又は行数はどれくらいでしょうか。 3、既に過去の分のA列に必要なデータ(「□~」、「~」)が入力済みだとするとそれを上書きする必要は別にないような気がしますが、いかがでしょうか。  以上の点が分からないと明確な回答は出来ませんが、とりあえず次のような条件だと仮定してお答えします。 お小遣い帳みたいなのもののブック(ファイル)は一つだが、Sheetは複数である。 過去の分のA列には「□~」、「~」が入っていたり入っていなかったり、あるいは空白のままだったりしている。 「□~」、「~」以外の文字列が入っていることもあり、それも生かしたい。  以上の条件でお答えします。 新たなセル、D1に次の計算式を入れます。 =IF(OR($A1="",$A1="□~",$A1="~"),IF($C2>0,"□~",IF($B2>0,"~","")),$A1) この式の意味を文章で説明すると、A1が空白、「□~」、「~」のいずれかに該当する場合は、(当初の式を使って)収入、支出、双方空白の区分にしたがい「□~」、「~」、空白のいずれかの答を出し、全く別の文字列が入っていてそれを残したい場合はそれをそのまま持ってくるという意味です。  次に、この式を右クリックでコピーを選択し、各Sheet毎に、D列の最終行(A~Cにデータが入っている行)まで選択、貼り付けをクリックします。  この作業は極めて簡単で凄く手間がかかるなんてことは全くありません。  次の作業はまた各Sheet毎にD1からD列最終行までを選択し、右クリックでコピー、A1を選択して「形式を選んで貼り付け」→「値」にチェック、OKをクリックであっという間に完了します。  以上は過去の分の作業ですので、これから使う分はNo.1回答の始期を直接A列に入力し、プルダウンコピー(右クリックしてセル右下に「+」を出し、下まで下げ る。)してください。  以上、全くの初心者に説明するようなくどい回答で、もしかしたら大変失礼ではないかとも思いましたが、質問や補足の文面から判断して、ご存知ない可能性もあるかと思い、書き加えさせていただきました。あしからずご容赦ください。

yuka_chan
質問者

お礼

ありがとうございます(>_<) 1~3のご質問にお答えします。 【1】:お小遣い帳ですので項目には何十行目かまでイロイロ入ってます。 例えば「電気代」「ポ●リスエット」「給与」「台所用洗剤」「ハンガー」「花」「家賃」など、全てバラバラです。 ( 図の「~」は"文章"、「□」は"インデント"を表したつもりでした。 分かり易くなるかと思って図を作ったけど、かえって混乱させてしまったみたいで;ごめんなさい!) …だから多分、No.1のご回答で教えて頂いた式を使って、わたしの希望を実現しようとしたら…もしかして下記のように全ての行の式の一部を書き換えなければならなくなるのかなぁ?と思ったんです。 =IF(C2>0," 電気代",IF(B2>0,"電気代","電気代")) =IF(C3>0," 花",IF(B3>0,"花","花")) =IF(C4>0," ハンガー",IF(B3>0,"ハンガー","ハンガー")) 既に入力してる分まで全部↑こういうふうに直すんだったら手入力のほうが早いかもだし、これから入力する分も大変かと… って、何か見当違いなこと言ってたらスミマセン。確かにセル番地は自動的に変わってくれますよね♪ 【2】:ご想像通り「お小遣い帳.xls」というブックに「6月」「7月」「8月」…とシートが並んでいます。シートは今のところ5つで、行は それぞれのシートに40前後(※毎月異なる)です。それ以降は空行ですが、それ以前の項目セルに空白はありません。 【3】:ゴメンナサイ。やっぱり図は無かったほうが良かったみたいで…(汗) あの図は「既に出来上がった状態」を表してたんです。なので、今はまだインデント(□)は全く入っていない状態です。 「項目を見ただけで収入か支出かが一目瞭然だったら いいかも」って思ったんです。「支出の時だけ項目が引っ込んでたら分かり易い」って。 >> もしかしたら大変失礼ではないかとも思いましたが、 いえ。とんでもないです!!! 事実、全くの初心者ですし、失礼などということは ありえません。 ただ貴重な時間を割いて わたしなどのために、これほど沢山入力して頂いたこと…恐縮至極でございます(;-_-) 説明下手で大変ご迷惑をおかけしてしまって申し訳ありませんでした。

  • zenjee
  • ベストアンサー率47% (50/106)
回答No.1

肝腎なことが書いてないようですが、使用ソフトはエクセルですか? 文面から多分そうではないかという気がしますので、エクセルだと推測してお答えします。 A2に次の計算式を入力します。 =IF(C2>0,"□~",IF(B2>0,"~",""))

yuka_chan
質問者

お礼

>> 使用ソフトはエクセルですか? ゴメンナサイ。仰る通り「エクセル」でした(>_<) 「Office系ソフト」カテゴリだから書かなくていいかなんて 思っちゃってたけど、「アクセス」と似てるんでしたね。 >> A2に次の計算式を入力します。 あー、そうか!!( 目から鱗 ) A列に式を入れることは一切念頭にありませんでした^^; なるほど。確かにそれだと可能だし、この質問の答えとしては正解ですね☆ …ただ、申し遅れましたが、もう既に何ヶ月分か入力済みなので、 その方法だと凄く手間がかかっちゃいそうです(ォィ) だから範囲で指定とかできたらといいと思うけど… そういうご回答が無いってことは、つまり無理なのでしょうね! ご回答ありがとうございました m(_ _)m

関連するQ&A

  • Excelの入力で質問です。

    収支計算表を作っています。 項目の中には、ときどき「1人あたりいくらで、○人分」というデータがあります。 たとえば、D列に人数、E列に単価を入力、支出欄に、その行の「E×D」を自動入力するとします。 この書式を、ときどき出てくるものに対していちいち入れるのは面倒なので、上記の「支出欄」のセルを選択し、そのままドラッグして、以下の支出欄にも適用するとします。 すると、すべての欄に「0」が入力されてしまいます。 ひとつひとつの項目は、「収入」だけが入力されることもあれば、「支出」だけが書き込まれることもあるので、収入の書かれる行には、支出欄に「0」が入っているのは、見た目でじゃまです。 【例】 ※ここまでの繰り越しが10,000円。 日付    項目   人数   単価  収入  支出  残高 3/10 お菓子代   3    300       900  9,100 3/10  小遣い             5,000   0  14,100 3/11  文具                   1,100 13,000 3/11  入場料    5    800      4,000  9,000 3/12  兄から援助           2,000    0 11,000               こんな感じで「0」が入る↑ この「0」を表示しない方法というのはないのでしょうか? なお、この収支表は、それぞれの項目を細かく種別に分ける必要があり(そのための列は設けてあります)、それを元に順番を入れ替えたりする可能性のあるものです。また、金額が入る欄のセルの書式は「通貨」になっています。 達人の方のご回答をお待ちします。よろしくお願いいたします。

  • Word入力で自動的にインデントが入る

    Wordで文字入力をしているとき、自動的にインデント(左インデント、ぶら下げインデント、一行目インデント)が入り、レイアウトが崩れ困っています。オプションをみたのですが分かりません。どうしたら、自動的にインデントが入らないようにできるのでしょうか。

  • Excelでインデント?と()を自動でつけるには?

    Excelで議事録を作っていて、A列に発言者を()の中に入れ、B列に発言内容を箇条書きで書いています。 例: A列 | B列 (鈴木)|・この案件は推進していくべきだ。 (山田)|・しかし、そのためには人員が足りない。 毎回()の入力、・を入力するのがプチストレスです。 A列のセルに名前を入力するだけで、自動的に()の中に入るという設定、同じくB列のセルに文章を入力すれば自動的に最初に・が挿入される、という設定は出来ないものでしょうか。数字を入力するのであれば、セルの書式設定のユーザー定義で「"("#")"」とすれば自動的に()の中に数字が入るのですが…。 また、B列で、同じセル内に長い文章を入力し、「折り返して全体を表示する」設定にすると、2行目以降は1文字下げたインデントにしたいのですが、そういう設定は出来ないモノでしょうか。。。 よろしくお願い致します。

  • ワードのインデント

     ワードのインデントが上手くいきません。具体的には大項目、中項目等のインデントです。  大項目は1、2、3で、中項目は(1)、(2)、(3)のように入力し、大項目から中項目に移る際にインデントします。例えば以下のような状態です。     1、あああああああああああ      ああああああああああああ       (1)いいいいいいいいい        いいいいいいいいいい          上の例で中項目の(1)を入力していくと2行目以降が(1)の位置ではなく、大項目の1のところで揃ってしまいます。下のような状態です。     1、あああああああああああ      ああああああああああああ       (1)いいいいいいいいい     いいいいいいいいいいいいい  中項目を入力し始める時は最初にタブを打ちこんでいます。そうすれば2行目以降(中項目の)も(1)の位置で自動的に揃うと思っていました。しかし実際には大項目の位置で揃ってしまうので、結局、各行の左端まで入力した後は、その都度エンターキーで改行して、その上スペースキーで(1)の位置まで移動させてから入力しています。  自動的にインデントを揃えるにはどのようにしたらいいのでしょうか?

  • 【Excel】プラス表記の結果を自動でマイナス表記

    たとえばセルA2を収入項目とし、A1をかかった経費の項目とし、A1からA2の収支の結果をA3に示すとします。 経費は(その性質上)収入よりも絶対的にプラスの値であることを条件とする場合、結果も必然的にプラスとなりますので、結果のA3セルにもプラスで反映されます。 しかし項目の性質の条件も「支出」となりますのでプラス表記になってしまう結果を自動でマイナス表記にしたいのです。 書式設定や関数など何でもよいですのでその方法がありましたら教えてください。

  • 一定条件でセルの色が自動的に変わる(エクセル)

        A     B     C     D     E 1   ★ 2   海    あ    い     う     え 3   山    か    き     く     け 4   川    さ     し     す     せ 5   陸    た    ち     つ     て A1セルの★に「海」や「山」や「川」や「陸」と入力します。 例えば、★に「海」を入力したら、その横列にある「あ」「い」「う」「え」のセルに 自動的に色がつくようにすることは可能でしょう? ★に「山」を入力したら、その横列にある「か」「き」「く」「け」のセルに色が、 ★に「川」を入力したら、その横列にある「さ」「し」「す」「せ」のセルに色が、 ★に「陸」を入力したら、その横列にある「た」「ち」「つ」「て」のセルに色が、 といった感じにしたいのです。 恐らく「条件付き書式」を使用するのだと思いますが、 自動的にセルの色を変えたい行が500行近くあります。 なので、その条件付き書式をコピペ出来るとありがたいのですが。 どなたか教えてください!!!

  • 自動で任意の数字を入力する

    条件付き書式を使い、土曜・日曜・祝日に自動的にB列~N列までセルに色がつくように設定してあります。 (例:セルの色は省略) B行(日付) C行(曜日)・・E行・・・・・・・・N行   1         日       2         月        3         火        4         水        5         木     6         金   7         土   8         日   ・          ・   ・          ・   ・          ・   31         火 色がついたセル(土・日・祝)のE行に”0”を自動で入力したいと考えています。マクロを使えば可能なのでしょうか? よろしくお願いいたします。

  • Excel 入力された間のセルを自動で塗る方法

    以下のように 各行で「A」と「B」を入力後、 その間のセルを自動で塗る方法があれば教えて下さい。 「A」と「B」の位置は自由に変更可能とします。    1 2 3 4 5 6 7 ・・・ 1行 A 塗 塗 塗 塗 塗 B 2行 A 塗 B 3行     A 塗 塗 B この場合、「条件付き書式」でできますか? マクロ・VBAを使用しないと無理でしょうか? 「条件付き書式」でできなければあきらめます・・・ どうぞよろしくお願いします。

  • 「1行目のインデント」と「ぶら下げインデント」の不如意

    MS-WORDを使い、横書きに文章を作成する目的で、複数の行に亘る、数個の項目を箇条書きし、この各項目に段落記号を付け、複数の行に亘る各項目の第2行目以下を段落記号の右側に持っていこうとして、その第2行目で「ぶら下げインデント」のみを段落記号の右側までドラッグして移動使用としました。 すると、なぜか、「1行目のインデント」と「ぶら下げインデント」との両方が勝手に左へ移動し、「1行目のインデント」は、左の余白の左側に、また「ぶら下げインデント」は、左の余白との境界線上に移ってしまいます。 以前にはこのような勝手な動きはしなかった用に思います。 この勝手な動きをやめさせ、正常な動きに矯正するにはどうすればよいのでしょうか? それとも、段落記号をつけた後は、おとなしく、「Enter」で行を変えて、MS-WORDに次の段落記号を自動的に付けてもらい、その後、文の始まる位置を「ぶら下げインデント」で調整するしかないのでしょうか?

  • Excel 自動で入力した数値に応じて色をつける

      タイトルに記入しました通りなのですが・・・詳細は Excelを使用して日計を手入力しているのですが A1のセルに前日の売上げ B1のセルに本日の売上げ を入力しております。 その際にフォントの色を選択し 売上げが下がっている場合は『赤』 売上げが上がっている場合は『青』 に変更しているのですが・・・ 項目が多く自動で色を変更することは出来ないかと ヘルプ等で調べてみたのですが 「条件付書式」の設定ですと 各セルの数値を入力しなければなりません。 そこで B1のセルに入力した数値が A1のセルより少ない場合は『赤』 逆に A1のセルより多い場合は『青』 変化が無い場合は『黒』のまま ・・・と、いうような設定をすることは出来ませんでしょうか? B1以降(C1~)も同条件で隣のセルに応じて 自動で色を付けられたら作業効率が上がるのですが。。。 初心者の質問で申し訳ございません。 念のため WindowsXP ExcelのVerは2002 です。 ご教授 宜しくお願い申し上げます。  

専門家に質問してみよう