• ベストアンサー

エクセル カウントの逆?

A 3 0 B 1 1 C 2 1 D 0 3 (実際には下・右方向にまだ数字があります) とあった場合、その下に   A B   A C   A D   B D   C D   C という風に書き出す方法はありませんでしょうか? よろしくお願いします

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

  • ベストアンサー
  • Yochio
  • ベストアンサー率61% (11/18)
回答No.3

初めまして。Yochioと申します。 前提として、以下の条件を付けさせて頂きます。 ・表の行数、列数の少なくともどちらか一方は固定(もう片方は可変でも固定でもよし) ・間に計算用のセルが入っていてもよい(不要なら隠せばいい) 以上の条件を踏まえた上であれば、関数のみで再現できました。 表記上、やや省略しました。必要ならマウス等で広げてください。   || A | B | C ==||========= 1 || A | 3 | 0 2 || B | 1 | 1 3 || C | 2 | 1 の場合を考えます。(左端の123は行、上端のABCは列だとお考えください) 逆カウントを行いたい表と同じサイズの表を下に作る要領で、(念のため一行あけて) 5 ||  | ASC(REPT($A1,B1)) | ASC(REPT($A1,C1)) 6 ||  | ASC(REPT($A1,B2)) | ASC(REPT($A1,C2)) 7 ||  | ASC(REPT($A1,B3)) | ASC(REPT($A1,C3)) B5のセルをしっかり入力すれば後はマウスでぐりっとできます。 そうすると、結果として以下のようになるはずです。 5 ||  | AAA | 6 ||  | B   | B 7 ||  | CC  | C これを元の表と同じサイズ作成することで元データから逆カウント自体が完了しました。 あとはこれを各行に割り振る必要がありますね。 そこで、いったんこれらの文字列を連結します。(また念のため一行あけます) 9 || ROW() | CONCATENATE(B5,B6,B7) | CONCATENATE(C5,C6,C7) ここで注意すべきはA9です。とりあえずこう入力しておいてください。 理由は後で示します。 あとはB9のみ入力してマウスで横にぐりっと。 ここでは列数を併せる必要はありますが行は1行のみでいいです。 そうすると、結果として以下のようになるはずです。 9 || 9 | AAABCC | BC ここまできたら後はもうすぐ。 11 ||  | MID(B$9,ROW()-$A$9,1) | MID(C$9,ROW()-$A$9,1) 12 ||  | MID(B$9,ROW()-$A$9,1) | MID(C$9,ROW()-$A$9,1) 13 ||  | MID(B$9,ROW()-$A$9,1) | MID(C$9,ROW()-$A$9,1) 14 ||  | MID(B$9,ROW()-$A$9,1) | MID(C$9,ROW()-$A$9,1) 15 ||  | MID(B$9,ROW()-$A$9,1) | MID(C$9,ROW()-$A$9,1) とやるだけ。またもB11のみ入力してマウスでぐりっと。 ここでさっきのA9を使います。 何かというと、MID関数で文字列を取得する際の文字列の位置をROW関数を使って取得しようとしているので、 ROW関数のカウントをクリアする必要があるのです。 他にもやり方はあります(A列に数字を入れるとか)が、この方が応用が利くかなと思いました。 もっと楽な方法があればどなたかに教えて頂きたく思います。 さてさて、そうすると思い通りの結果になりませんでしょうか? 11 || | A | B 12 || | A | C 13 || | A | 14 || | B | 15 || | C | あとは不要な行を隠すだけ。 なお、行数が可変で列数が不変な場合、単純に今までの手順を行列逆にして実施すればいいはずです(未検証)。 こんな感じでどうでしょう?

keiko1103pg
質問者

お礼

大変遅くなりました。 ありがとうございます。 丁寧に答えて頂きまして助かりました。 うまくいきました。 感激です。

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

その他の回答 (2)

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

これを関数でやるのは、ちと難しい。 (例データ)A2:B6に下記データとする。 A1の行はデータは入れないこと。 A列  B列    C列 0 a 3 3 b 1 4 c 2 6 d 0 6 e 4 10 (関数式1)作業列として1列C列を使う。 C1に0をいれる。 C2に=SUM($B$2:B2)といれ、最下行B6まで複写する。これで B列上からの累計が出る。上記の通り。 (関数式2) 文字列を出したい列(仮にE列とする)の一番上のE1に =INDEX($A$2:$A$6,MATCH(ROW()-1,$C$1:$C$6,1)) といれて、C列の最大値数の行まで、式を複写する。 $A$6の6は最下行に修正すること。 (結果) a a a b c c e e e e

keiko1103pg
質問者

お礼

大変遅くなりました。 ありがとうございます。 エクセルの基本を勉強しなきゃと思い知らされました。

全文を見る
すると、全ての回答が全文表示されます。
noname#176215
noname#176215
回答No.1

=REPT(Sheet1!$A1,B2) 縦横方向にオートフィルコピー 一列分をコピー →右クリック→[形式を選択して貼り付け] →[値]にチェック入れてOK 上記の列の幅を一文字分に調整して [編集]→[フィル]→[文字の割付] これを全ての列で行う。面倒なら 作業マクロでどうぞ。

keiko1103pg
質問者

お礼

大変遅くなりました。 ありがとうございます。

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

関連するQ&A

  • Excelの貼り付けについて

    Excelの貼り付けについて教えて下さい。 通常だと、A1のセルに貼り付けをした場合、 B1・C1・D1という風に右のセルに貼り付けされると思いますが、 これを D1のセルを選択して、D1・C1・B1・A1という風に左に貼り付けたいのですが可能でしょうか。

  • EXCEL VBAで

    EXCEL VBAで シート1のA2~G2までの列にA,B,C,D~と題名があり、それぞれの下の行には数字が並んでます。シート2のA2~G2までの列にもA,B,C,D~と題名がありますが、ランダムに並んでます。シート1のAの行を、シート2のAの行に、BにはBへという風にコピーをさせるにはどのようにすればよいでしょうか。またシート1A~Gのどれかが欠けている場合もあります。その場合はシート1にあるもののみコピーすることとします。 わかりにくいかも知れませんか、どうかよろしくお願いします。

  • エクセルで文字をカウントしたいのですが…

    どの関数を使えばいいのか分からなかったので質問させて頂きました。 例えばA1セル~D1セルに 1,2,3,4と入力した場合E1セルに「4」 1,1,1,2と入力した場合E1セルに「2」 2,2,3,4と入力した場合E1セルに「3」 となるような関数はないでしょうか? ようはA1,B1,C1,D1の4つのセルに何種類の数字が あるかをE1セルに出したいのです。 宜しくお願いします。

  • エクセル 関数(カウント?)について

    初歩的な質問になりますが、とある範囲内でABCが全部あるときはマークが出るような関数はありますが? ex ##さん A B B C A %%さん B A C A B $$さん C C A A C 縦の列で       ↑(右から二番目) ここだけABCがそろってないのをその下の列に マークや文字として表示する関数を探しています。 どなたかご存知の方、よろしくお願いします。

  • エクセル2000で・・・

    セルA5にはA1~A4の合計が入っています。 同様にB5、C5、D5まで同じ式が入っています。 例えばA5に40、B5に30、C5に-20、D5に-50というふうに 合計が0にならなければなりません。 もしならないのであればA1~A4、B1~B4・・・・に入力した数字が 間違えているという事になります。 もちろんこの場合ですとE5あたりに計算式を入れて0になるのを 確認すれば良いのですが、見た目が気になります。 そこで質問なんですがもし0にならなかった場合にエラーメッセージ (又は何かの表示)が出るようにしたいのですが何かいいアイデアは あるでしょうか?

  • エクセル文字の抽出について

    一つのセルに 1.23.5.6 のようにランダムに.で区切られた数字が入っていて .で区切られてる数字を別々のセルに別けて抽出する方法を教えてください(A1に1、B1に23、C1に5、D1に6という風に) 宜しくお願い致します。

  • エクセルについてです!

    エクセルについての質問です。できるかどうかわかりませんがご指導お願い致します。   A   B   C   D    E 1 △  200  △  200  △の合計(この場合B1+B4+D1+D2で1000) 2 □  300  △  300  □の合計(この場合B2+D3で500) 3 ○  500  □  200  ○の合計(この場合B3+D4で1100) 4 △  300   ○ 600 A、Cの欄に記号 B、Dに数字 を入れるようにしてありますのでできればこのままの状態での質問です。 A、Cの欄にある同じ記号(例えば△)の横にある(B、Dの欄の数字)の合計を出したいです。 上の図で例えるE1に△の合計(B1+B4+D1+D2)です。 図では書けないですが、かなり数字と記号があります。(A、Cが100くらい) どれだけ記号と数字が増えても記号ごとの集計ができるような式があれば教えていただきたいと思います。 わかりにくいとは思いますが宜しくお願い致します。

  • Excelの並べ替え

    Excelデータでの並べ替えについて… 1  A   36851 2 3 4  B   58714 5 6 7  C   69826 8 9 10  D   38517 というように、一つのデータが3行おきに入っているシートがあり、 一番右の数字を並べ変えた場合、その間隔が詰まってしまいますよね? この間隔を保持したまま並べ替えを行ない、 1  C   69826  2 3 4  B   58714 5 6 7  D   38517 8 9 10 A   36851 という形にしたいです。 どのようにしたらいいのでしょうか。 ご教授、よろしくお願いいたします。

  • エクセルでグループ分け。

     よろしくお願いします。 データー    A      B     C     D 1 1/1    20   19    50 2 1/2    65   55    89 3 1/3    88   80    89 4 1/7    25   02    80 5 1/8    44   13    99 6 1/10   93   23    95 7 1/14   12   -2    46 8 1/15   23   11    45  というデーターがあります。 このデーターのB列の数字を基準にし、C列の数字とD列の数字の二つを比べ、C列の数字と近い場合とD列の数字と近い場合のデーターを抜き出せるようにしたいと思います。  B列の数字がC列の数字と近い場合の結果    A      B     C     D 1 1/1    20   19    50 2 1/7    25   02    80 3 1/8    44   13    99 4 1/14   12   -2    46 5 1/15   23   11    45  B列の数字がD列の数字と近い場合の結果 1 1/2    65   55    68 2 1/3    88   80    89 3 1/10   93   23    95  できる方、よろしくお願いします。

  • Excelの移動しない列

     Excelで表示されている列が左から   A B C D E F ... のとき,右方向にスクロールさせると表示領域が   B C D E F G ... (Aが左に消える)   C D E F G H ... (Bが左に消える) と変化していきます.  ここで,Aをスクロールアウトさせない方法を知りたいと思っています.大きな表を作成したときに,表のどこを見ていても各列が何を表しているかを知りたいからです.  具体的には,右方向にスクロールさせたときに最初に消えるのがAではなく,   A C D E F G ... (Bが消える)   A D E F G H ... (Cが消える) という変化をさせたいと思っています.  どうすればいいのでしょうか.

このQ&Aのポイント
  • 量産中に突然リードの無いネジが発生しました。
  • リード無しができる理屈や再現方法を知りたいです。
  • 過去の事例ではブランクを傾けて転造することでリード無しネジができたが、バリが発生していた。トライアルでブランクを2度くらい傾けたが正常なネジができてしまった。
回答を見る

専門家に質問してみよう