
一つのセルで2つ以上の意味とは、
まず数字、そしてセルに色をつける、網掛けをする、等考えられます。
あとで、2つ以上の意味を持つセルをその意味毎に集計するには、
どのようにしたらよいのでしょうか?
エクセル2007では、セルの色毎に集計できたりするらしいのですが、
未だに2003を使用しているので困っています。
例としては、
ある仕事に3時間かかった。それは朝、昼、夜の時間帯だった。
と、した時に、これを一つのセルで表すには、普通かかった時間数「3」に、
朝、昼、夜を表すのに、セルに色を付けるのが一般的かと思います。
それ以外に一つのセルに2つ以上意味を持たせることができるようにするには、
どのようにしたら良いのでしょうか?
No.4ベストアンサー
- 回答日時:
ま、色々あるんでしょうね・・・(苦笑)
例えば・・・ですが、
3001
3002
3003
と入力して、セルの表示形式でユーザー設定にし、「#,」
とすれば、表示は
3
3
3
となるはずです。あとは、=LEFT(A1,1) で、右側の数字が
取得できますので、それを使って判断したり色付けしたり
できます。
3.1
3.2
3.3
などでも、セルの書式設定で「0」とすれば、全く同じ方法が
使えますよね。ま、邪道中の邪道ですから、シートのどこかに
「こんなふうにやってますよ」と書いておかないと・・・。
No.5
- 回答日時:
元のご相談は
>それ以外に一つのセルに2つ以上意味を持たせることができるようにするには、
>どのようにしたら良いのでしょうか?
でしたが、結局言いたいことは「色を付けて集計したい。それ以外は受け付けられない(受け入れてもらえない)」ということなのですから、最初からそのように質問なさるべきだったようには思います。別にアナタが悪い訳じゃないのですから。
皆さんから回答がよせられているように、エクセルにはそういうことができる機能はありません。
なので、どうしてもというならマクロを使ってゴリゴリと自作で集計を行うようなことをする必要があります。
手順:
ALT+F11を押す
現れた画面で挿入メニューから標準モジュールを挿入する
現れたシートに下記をコピー貼り付ける
function SumIfColor(byval target as excel.range, ref as excel.range) as double
dim h as range
application.volatile
for each h in target
if h.interior.colorindex = ref.interior.colorindex then
SumIfColor = SumIfColor + val(h.value)
end if
next
end function
ファイルメニューから終了してエクセルに戻る
使い方:
いま仮にA1:C10のセル範囲に数字が記入してあるとする
それぞれのセルには朝昼夜の色が塗ってあったりなかったりする
とりあえずA1に朝の色が塗ってあるとする
C2には昼の色が塗ってあるとする
B4に夜の色が塗ってあるとする
朝の合計:
=SumIfColor(A1:C10,A1)
昼の合計:
=SumIfColor(A1:C10,C2)
夜の合計:
=SumIfColor(A1:C10,B4)
のように集計が求まる。
#重要な注意
セルの色を塗り替えた直後には、関数は自動で再計算されません。これはいかなる方法を採ってもできません。
セルの色を塗り替えた後は、かならずF9キーを押すなどして明示的に再計算を走らせて、正しい結果を表示させます。
No.3
- 回答日時:
>…のが一般的かと思います。
いいえ。
一般的には,A列に朝昼晩を記入し,B列にそれぞれの3時間を記入するのが一般的なやり方です。
もっと言うなら,A列には日付,B列には開始時刻,C列には終了時刻のように「時間数を計算した根拠となる元のデータ」を記入し,さらにD列にはその日のうちの「午前中の作業時間」E列には「午後時間帯の作業時間」F列に「残業帯の作業時間」をそれぞれ計算し,集計するのが『一般的な』エクセルの使い方です。
とはいえ。
>それ以外に一つのセルに2つ以上意味を持たせることができるようにするには
今はご自分の思いに囚われて「とにかく一つのセルで」やってみたいご相談という事なので,例えば次のように細工することもできます。
例:
朝の3時間は1003という数字で記入する
昼の3時間は2003のように2千番台の数字で記入する
夜の3時間は3003のように3千番台の数字で記入する
こういった元データから1000番台の個数は
=COUNTIF(B:B,">=1000")-COUNTIF(B:B,">=2000")
1000番台の時間数の合計は
=SUMIF(B:B,">=1000")-SUMIF(B:B,">=2000")-(COUNTIF(B:B,">=1000")-COUNTIF(B:B,">=2000"))*1000
なんて言った具合に計算することもできます。
もちろんもっとメンドクサイ数式を組めば,「朝3」「昼3」「夜3」から計算を求めることも,やればできます。
が,通常はそんな尋常でないことはせず,最初にお話ししたように「列を分けてデータを素直に記入していく」という風に作成します。
ご回答ありがとうございました。
まあ、そうですね。
ただ、昔からの頭の固い上司が表の作りを変えるなというわけなんですよ。
そしてエクセルなどをわかったようなことを言われるわけですね。
そんでもって、根本の表の作り方を変更しようものならおしかりを受けるわけですね。
中間者はたまりません。
でも、まあ、データを翻訳というか、変換に次ぐ変換で、
実作業の効率化を図り、上司を満足させなければならず、
ほとほと困っています。
No.2
- 回答日時:
通常、セル一つに一つの意味以上のものを持たせる、という
発想そのものが間違いです。挙げられた例で言えば、勤務
時間と時間帯は「別のセル」に持たせなくてはいけません。
複数の意味を持堪えると、後でこのデータを他に転用する時、
物凄く面倒なことになります。データはどういうものでも、後で
転用しやすいように考えておかなきゃいけません。
持たせたうえで、表示用に「色を付けて表示する」ってのが
正しいやり方です。そのためにExcelは複数のシートを持って
いるんですから・・・。
そのうえで・・・。
時間表示だけなら、日付データに何か違う意味を持たせて、
セルの表示を「時間」だけにする手があります。
2012/4/1 3:00 ならば「昼3時間」
2012/5/1 3:00 ならば「夜3時間」
などのやり方です。セルの表示形式を「h:mm」にすれば日付
は表示しませんからね。
昼夜の判断は例えば
=IF(MONTH(A1)=4,"昼","")
とかすればオッケー、MONTH関数とかで月なりなんなりを
チェックするだけで時間帯が分かります。
まあ、邪道中の邪道ですからね。これやっちゃうと、時間計算
するときに、要注意になりますから・・・。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelについて A1からA12まで、1月〜12月と入力し、 B1からB12の範囲に、C1とD1に 4 2022/05/26 22:48
- Excel(エクセル) エクセルの条件付き書式で*を使いたい 4 2022/05/13 16:49
- Excel(エクセル) セルに特定の色が出た時だけ、式を発動させたい 4 2022/06/17 10:32
- Excel(エクセル) 条件に合った数値の合計を表示させたい関数と条件指定の方法 3 2023/05/13 16:07
- Excel(エクセル) エクセルの祝日に色が反映しない 4 2022/05/18 09:58
- Visual Basic(VBA) エクセルマクロでアニメを作る方法を教えてください。 1 2023/02/07 14:27
- Excel(エクセル) IF 関数で「〇〇 という文字を含む場合」の分岐処理で表示された数字はSUMで数字集計できますか? 3 2022/08/02 16:29
- Excel(エクセル) Excel 特定セルの数値を参照したセルの0表示が空白にならないのはどうしてか? 3 2022/04/28 22:23
- Excel(エクセル) エクセルの自動更新のタイミングについて 1 2022/07/20 16:12
- Excel(エクセル) 複数セルデータを別シートの単一セルにコピーしたい。(詳細をご参照ください) 1 2022/12/14 15:08
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
文字列から英数字のみを抽出す...
-
excelで、空白を除いてデータを...
-
SUMIF関数で、「ブランク以外を...
-
自分の左隣のセル
-
エクセル1行おきのセルを隣の...
-
EXCELのcountif関数での大文字...
-
週の労働時間を計算するエクセル
-
セルを結合した時のエクセル集...
-
エクセルで特定のセル内にだけ...
-
エクセルのセルにある同じ値が...
-
条件付き書式の色付きセルのカ...
-
エクセル 平日と土日祝の時間...
-
excelの条件付統計?について
-
エクセルで、A2のセルにA3...
-
excelで年休管理をするには
-
この関数に対して、多すぎる引...
-
エクセル関数またはVBAについて
-
同一セル内の重複文字を削除し...
-
エクセルで年月日から月日のみへ
-
エラー「#REF」の箇所を置き換...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
自分の左隣のセル
-
SUMIF関数で、「ブランク以外を...
-
文字列から英数字のみを抽出す...
-
excelで、空白を除いてデータを...
-
セルを結合した時のエクセル集...
-
EXCELのcountif関数での大文字...
-
エクセルで特定のセル内にだけ...
-
エクセルで、指定の値よりも大...
-
エクセル1行おきのセルを隣の...
-
同一セル内の重複文字を削除し...
-
EXCELでマイナス値の入ったセル...
-
エクセルで、A2のセルにA3...
-
エクセルで年月日から月日のみへ
-
条件付き書式の色付きセルのカ...
-
週の労働時間を計算するエクセル
-
エクセルに入力後、別シートの...
-
【Excel】4つとばしで合計する方法
-
Excelで大量のセルに一気に関数...
-
エクセル関数またはVBAについて
-
エラー「#REF」の箇所を置き換...
おすすめ情報