• 締切済み

エクセルでIF関数で導いた数値に連結して個別の文言を区別して入れるには?

  A         B     C     D    E    1 車 種    使用タイヤ 個数  累計 2 クラウン    タイヤ1  32  32開始 3 アルファード タイヤ1  24  56 4 ソアラ     タイヤ1  16  72終了 5 セリカ     タイヤ3   8   8単独 6 MR2     タイヤ5  12  12単独 7 マーク2    タイヤ2  36  36開始 8 クレスタ    タイヤ2  48  72終了 9 カローラ    タイヤ4  56  56開始  上記のような生産予定表があるとして、車種ごとに使用するタイヤが決まっており、個々の車種の対応したタイヤ名の個数をD列に 累計しているのですが、複雑頻繁にモデルが切り替わり、累計数字は出せるのですが、備考項目『終了』『単独』『開始』など、見やすく分かりやすくする為に、数値の累計データーを狂わせることなく、連結表示するにはどうすればよいでしょうか?  数値を文字列データーとしてしまうと、計算が上手くいきません。  多分、TEXT関数の使い方、表示形式にポイントがあるのかなぁと思っています。ANDやOR条件で、各備考項目を追加するのは知っているつもりですが、『数値』データーを損なわず、累計計算可能のままで、備考の『文字列データー』を表示させることが出来ません。  セルの表示形式の工夫だけでは、上手く出来なかったので、どなたか詳しい方、教えていただけませんか?

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.6

>数値の累計データーを狂わせることなく、連結表示するにはどうすればよいでしょうか? 回答が既に出ていて、私は頭が悪いんだと思うが、意味が良く判らない。 もし Sheet1の D列 E列 32 終了(または空白)と入っているとき 、E列の文字が変わると(例えば「開始」に) D列の表示を、「32 開始」と表示を変えるなら Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column <> 5 Then Exit Sub Target.Offset(0, -1).NumberFormat = "#,###" & Target End Sub をSheet1のイベントプロシージュアーに入れておくと。 E列を「開始」と変えEnterを押すと、D列は「32 開始」と見えるようになる。 D列の値は32のままである。 こういうことでなければ、この回答を無視してください。 過去のD,E列データがあれば、一斉に1度全行につき、上記をやっておく必要があるが、とりあえず略。

  • maron--5
  • ベストアンサー率36% (321/877)
回答No.5

◆式が少し長いですが、こんな方法もありますよ D2=IF(C2="","",SUMIF($C$2:$C2,C2,$D$2:D2)&IF(COUNTIF(C:C,C2)=1,"単独",IF(COUNTIF($C$2:C2,C2)=1,"開始",IF(COUNTIF(C:C,C2)=COUNTIF($C$2:C2,C2),"終了","")))) ★下にコピー

回答No.4

D列の数値と文字列を分離することはダメでしょうか。 数値はD列、文字列はE列。 表として罫線を引いていれば、D列とE列の縦線を消せば 1マスのように見えます。 D列を右寄せ、E列を左寄せに設定しておけば、文字は繋がっている様にも見えます。 データの並べ替えをする場合、セルの結合はダメですけど・・・ 累計A、累計B等、項目を分ければ結合の必要もなくなります。

superfighter823
質問者

お礼

 数値、文字列の連結はYはり表示式が長く、私には窮屈です。極力、列数を増やしたくないと思い、思考しましたが、色んな方の回答を拝見すると、#4さんのアドバイスが賢明なのかも知れません。有難うございました。

回答No.3

IF関数を使われるのでしたら、様式がご質問の表と同じと仮定しまして、D2に =IF(AND(B1<>B2,B2<>B3),TEXT(SUMIF($B$1:B2,B2,$C$1:C2),"??0")&"単独",IF(AND(B1=B2,B2<>B3),TEXT(SUMIF($B$1:B2,B2,$C$1:C2),"??0")&"終了",IF(AND(B1<>B2,B2=B3),TEXT(SUMIF($B$1:B2,B2,$C$1:C2),"??0")&"開始",TEXT(SUMIF($B$1:B2,B2,$C$1:C2),"??0")))) と入力(長い数式ですが1行です)して下方にコピー、ではいかがでしょうか。 セルのフォントは等幅フォントにします。 でも、「タイヤ1」のデータが離れた場所(たとえば8行目と9行目の間)にも1行だけある場合、そこの累計は 82単独 となってしまいますが。

superfighter823
質問者

お礼

 回答有難うございます。出来れば列や行を増やしたくないので、式は長くなりますが、試して見ます。

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.2

>数値の累計データーを狂わせることなく、連結表示するにはどうすればよいでしょうか? セルの書式設定で行うしか方法はありません。 (毎回マクロで書き換えるか手動で変更する事になります。) 隣接するセルに式を入れて表示させる方がよいかと思いますし、それを目印に条件付き書式で該当行を着色するなど、見やすい表を作成する事が可能になると思います。

superfighter823
質問者

お礼

 すみません。有難うございました。やはりセル書式工夫するしかなさそうですね。

noname#58440
noname#58440
回答No.1

  D列の書式設定で 0"開始" と、すれば「32開始」の様に表示されます。 表示だけなので数値として計算もできます。 でも「開始」「単独」「終了」を付けるルールが判らないので、それが判れば別の助言が出来るかも知れません。  

superfighter823
質問者

お礼

有難うございました。

関連するQ&A

  • Excelで数値が文字列になっています

    Excel2010で「このセルにある数値がテキスト形式か、またはアポストロフィで始まっています」という警告が表示されたりして、計算が出来ません。 打ち直ししたり、「エラーチェックルール」で「文字列形式の数値、、またはアポストロフィで 始まる数値」のチェックを外したりして計算は出来るようになります。 「表示形式を変えてもセルの中の値は変化しません。数値データは数値のまま、文字列データは文字列のままです。」とは本当ですか? 本当ならば、数字の保存形式が文字列データかどうかを確かめる方法はありますか? なお、ISNUMBERという関数ではTRUEと出ます。

  • エクセルのif関数について

    現在データ処理のためにエクセルを使っていますが、ある条件処理をうまくできなくて困っています。どうかお知恵をお貸しください。 <内容>  A列    B列 1行  0.38% -1.74% 2行  3.16% 1.75% 3行 -0.34% 1.91% 4行 0.17%   -3.55% 5行 -0.13% 2.65% 逆相関について調べているのですが、A列1行に対応する数値B列1行は逆相関ですからC列1行に「○」を表示し、2行は相関ですからC列2行に「×」を表示したいのです。 C列6行には「○」の個数である「4」の表示もできたらしたいです。 さらに「○」ならば絶対値を足していき、「×」ならば絶対値を引いていく、つまり上記の場合は|1.74|-|1.75|+|1.91|+|3.55|+|2.65|=8.10と表示したいのですがさっぱり見当がつきません。 例えばD列に「○」ならば絶対値プラス、「×」ならば絶対値マイナスというような表示の仕方もあるのでしょうか?それができるのならばあとはオートサムでやれば簡単に8.10の合計値はでるのですが。。 ちなみにややこしくなるのであれば単に1.74や-0.13のような数値表示もよく、パーセント表示でなくともかまいません。 どうかよろしくお願いいたします。  

  • エクセルのIF関数について

    エクセル初心者です。毎月の支払出来高の表を作っています。A列に項目、B列に契約金額、C列に”済”と支払いが完了したら表示するように式が入ってます。D列以降は月々の累計支払いが入っています(例えば100万で契約して1月~12月で支払い)。D列 1月 E列 2月・・・・。 12月の次の列に残高計算する式が入っています。  そこで質問なのですが、C列に, IF(BR119=0,"済",IF(BR119<0,"NG","")),IF(D119<0,IF(BR119>D119,""))と入れたのですが、B列の金額の欄には値引き額があってマイナスの金額があるのです。契約金額を上回った時に”NG"と表示させたいのと、完了した時に”済”を表示させたいのですが、マイナスのところがうまくいきません。どうかアドバイスお願いします。

  • エクセル関数で困ってます。

    "オートフィルタ"使用中に "SUMIF"と"COUNTIF"も使用したいのですが… ある条件を"オートフィルタ"で 抽出した以下のような数値を、元に計算したいです。     「A」 「1」 +80 「2」 -10 「6」 +70 「9」 -20 「10」 +60 「11」 -30 「15」 +50 「18」 -40 「19」 +40 「20」 -30 ※「」は行、列の意味です。 ※「行」の数字が飛んでいるのは、オートフィルタで条件抽出の為 抽出された「行」のみ表示されているというイメージです。 ※列は、1列のみです。 上の数値の プラス(0以上の数値)の値 マイナス(0以下の数値)の値 プラス(0以上の数値)の平均値 マイナス(0以下の数値)の平均値 全てのデータの個数の合計 を出したいのですが オートフィルタを使用中が条件なんです。 現在は、抽出したデータをコピーし 計算シートに貼り付けしている状態です。 出来れば、一度に出したいです。 よろしくお願いします<m(__)m>

  • エクセルの関数で教えて下さい

    エクセルでデータの計算をしたいのですが、やり方がわからないので教えて下さい!! 一つの列にあるデータが該当する個数を数える方法はわかるのですが、複数の列にあるデータで、複数の条件が合ったときの個数を数える方法を教えて下さい 例えば A、B、Cそれぞれの列にデータをいれ、そのA列、B列、C列それぞれの条件の条件が合った時の個数が何個かということを数えたいのです よろしくおねがいします

  • エクセル IF関数について

         A    B    C    D    E    F    G    H 1        会議室      部署名   会議      打合せ      2                        開始  終了   開始  終了 3   10:00  A部署      A部署 10:00  11:00  13:00  14:00 4   11:00  B部署      B部署 11:00  13:00       5   12:00  B部署        ・ 6   13:00  A部署        ・      ・ D3~手入力された項目が、B列に名前が自動反映されるようにしたいです。

  • エクセル 関数について

    入力データ A1~A10に数値10 B1~B20に数値20 C1~C10に数値30が入力されています 質問 A1~C10の範囲内から、E1に数値 0~10の個数、E2に数値11~20の個数、E3に数値21~30の個数、 E4に数値10~30以外の個数を関数を使って計算させるには、どのようにしたらよいのでしょうか? 現在 COUNT、COUNTIF、FREQUENCYを使ってみたのですが、、、うまくいきませんでした。 何か良い アドバイスを下さい 宜しくお願い致します

  • Excel(数値の非表示)

    日々の出費を管理する表を作っています。 A列は日付、B列C列D列は項目別の数値 E列はその日付の数値の合計(B1+C1+D1) F列はその日までの累計(A列ではE1=F1、B列以降はF1+E2) この表の翌日以降のE列、F列の数値を表示したくないのですがどうしたらよいでしょうか? E列に関しては、翌日以降はB列C列D列が未入力となり必ず0が入るので、オプションで「ゼロ値」のチェックをはずすことで対応しようと考えているのですが問題ないでしょうか? F列に関しては数値が0にはなりませんので関数を使うことになるかと思うのですが、それが分からず困っています。 初歩的な質問と思いますが宜しくお願いします。

  • エクセルとIF関数について

    エクセル初心者です。 今、下の画像上段のような、データ(シート1)をエクセル2007で作成しました。 売上と販売形式、場所、そして報告形式があります。 今、シート2のAからC列に販売形式、売上場所、売上金額を 手入力で入れてみました。 ここでしたい処理ですが、IF関数を使って、シート2の4列目に自動的に報告形式が 表示される数式を作りたいのです。 単純なIF関数はわかるのですが、この場合、AND関数をどうやってつくっていいか わかりませんでした。 教えてください。お願いします。

  • エクセルのcountif関数について

    二つの列にそれぞれ数値が入っている場合に、クロスしたデータの個数をカウントしたいのですが、どのような式を使えばよいかお教え下さい。 例えばA1~A10に20,30,20、・・・と規則的に入力されていて、B1~B10に1、2、3、1、2、3、・・・とこちらも規則的に入力されている場合で、A列が20でB列が3の場合、クロスした値は2個となるのですが、それをCOUNTIF関数で計算させたいのですが、...何か良い方法はありませんでしょうか。

専門家に質問してみよう