[[20110217214630]] 『背表紙作成別シートで表示2列同表示したいのです』(sune) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『背表紙作成別シートで表示2列同表示したいのですが』(sune)
Excel2003Windows XP
エクセル関数未熟者でありまして(汗)一覧表があるのですが、ファイルの背表紙を作成するのにコピペして自分の分は完了したのですが、仲間達のことを思うと苦労すると思い関数を用いてなんとかならない物かと質問しております。
現在次の表があります。

シート1

      A       B        C  
    
1   11      東京
2   33    大阪
3   99    札幌

シート2では2列ずつ同じ表示したいのですが可能でしょうか?お願いします

        A  B  C    D    E    F    G
1
        1    1    3    3    9    9
        1    1    3    3    9    9
2       東   東   大   大   札   札  
    京   京  阪   阪   幌  幌

 私なら

 1.A1:B3をコピー
 2.A4セルから貼り付け
 3.A列で並べ替え
 4.A1:B6をコピー
 5.シート2のA1セルで右クリック
    形式を選択して貼り付け → ■行列を入れ替える(E)
   で貼り付け

 A列の値に重複がある場合は、C列にでも先に連番を作っておいて下さい。

 。。。。あ
 >関数を用いてなんとかならない物か
 でしたね。
 関数を入れると、入力した範囲すべてが印刷されることになると思いますが。。。
 すぐに回答がつくと思いますので、しばらくお待ちください。

 (HANA)

(HANA)さん回答ありがとうごさいます。

=INDEX(Sheet1!$A1:$A$100,COLUMN())で1列はいけました

2列にするとうまくいかない…

あっ表を2段同じにすれば出来そうですな(sune)


 ポイントは、横へフィルドラッグした時に
  1,1,2,2,3,3,4,4・・・・
 となる様な式を作る所ですね。

 COLUMN() では、1,2,3,4・・・・ですが
 たとえば、2で割って切り上げると 1,1,2,2・・・って成ります。

 切り上げると ROUNDUP(・・・,0)なんて式が長くなるので
 INT関数を使った式が良く紹介されていると思います。

 1,2,3,4・・・を 2で割って INT関数で切り捨てると
 0,1,1,2,2・・・に成るので
 最初が「2」から始まる様にすれば良いですね。

 COLUMN関数の引数にセルを指定して
 =COLUMN(B1) では、どのセルに入れても
 「2」が得られて、列方向へフィルドラッグすると
 2,3,4,・・・・と続きます。

 (HANA)


なるほどなるほどと関心するばかりであります(汗)

同じ会社の仲間によろこんで頂けそうですよ(笑)

コピペすら知らず指一本打ち、しかもスペースで文字間調整していた人がいましたから(sune)

(大滝汗)


 でも、一回感心出来れば すぐに応用できると思います。

 ちなみに、連番を繰り返したい場合
  1,2,3,1,2,3,1,2,3,・・・・
 は、MOD関数を使ってください。

 たとえば、1,2,3,4,5,6,・・・の 3で割った余りを求めると
 1,2,0,1,2,0,・・・・が得られます。

 どんどん 喜んでもらえそうなものを作って下さい。^^

 (HANA)

少々時間は掛かるかもしれないですが表を2段表示しようかなぁと…

平打ちより早いかなぁと(発汗)

INDEX(Sheet1!$A1:$A$100,COLUMN())

上の関数を色々と操作してみたけど上手いこといかなくて(未熟すぎ)

自分も一本打ちとたいしてかわらんのねーーーー

(sune)


 INDEX(範囲 , 行番号 , 列番号) なので

 行番号の所は
  1 , 1 , 2 , 2 , 3 , 3
  1 , 1 , 2 , 2 , 3 , 3
  (                     )
   4 , 4 , 5 , 5 , 6 , 6
   4 , 4 , 5 , 5 , 6 , 6
  (                     )

 列番号の所は
   1 , 1 , 1 , 1 , 1 , 1
   2 , 2 , 2 , 2 , 2 , 2
  (                     )
   1 , 1 , 1 , 1 , 1 , 1
   2 , 2 , 2 , 2 , 2 , 2
  (                     )

 と成れば良さそうです。

 行番号の方は 2段目は 「何行目か」の情報も併せて
 計算していきます。

 3,4行目なら 4 ・・・  1 *3+1 とか 2 *3-2
 6,7行目なら 7 ・・・  2 *3+1        3 *3-2
 8,9行目なら 10 ・・・  3 *3+1        4 *3-2
 と考えると、この番号/~~~が作れれば
 道はひらけそうです。

 縦にフィルドラッグした時に
  0 , 0 ,( ), 1 , 1 , ( ), 2 , 2 ,( ), 3 , 3 ,()
 と成る様なものです。
 横にフィルドラッグした時に、そのようになる数式はわかっているので
 (今の所、1,1,2,2,3,3,・・・と1から始まる2つずつですが)同じ様に出来そうですね。

 列番号の方は MOD関数です。

 (HANA)

=INDEX(Sheet1!$B1:$B$150,INT(Sheet1!A1/2))

これでいいのかな?かぶりました^^更なる回答ありがとうです^^

シート1のAのセルに2から連番を打っておく

      A      B       C

[1]     2    43534      東京

[2]      3    54343    大阪

[3]     4    32311     札幌

あらら…INT内のA1がA2A3と変化してくれないと面倒だなぁ…とまだ勉強(汗)^^(sune)


僕自身は背表紙を作り終わってます。原始的にコピペですけど(滝汗)

これからエクセルを活用しようする方を考慮すると勉強しないとなって思います。

一人当たり背表紙を50〜100ほど作らねばなりません。

縦の表は存在しています。コクヨのファイルで横と背に表示出来るので2列分表示します。

背表紙には管理番号と名前が入ります。

パチンコ番組始まるまでがんばろーーっと(sune)


 綺麗な背表紙が並んでいると幸せですよね!!

 今回の件は、タブン 最初に出来た式を横にフィルドラッグした後
 2ページ目の先頭の位置に来る「数式」をコピーして
 下の段に貼り付けた後、また横にフィルドラッグ・・・〜
 を繰り返したシートを作っておいて
 「データを貼り付けたら 数式の要らない所は削除してから印刷だよ!!」
 と言うのでも良さそうに思うので。。。(勝手な言い分ですが)
 確実にご理解いただけた方が良いと思います。

 応用範囲は広いと思いますよ。

 私は特に目当ての番組も無いのでこの辺で。。。

 あぁ、そういえばこの掲示板の使い方ですが
_←ここに半角スペースを入れておくと
 空行を挟まなくても改行されますよ。

 (HANA)

HANAさんありがとう。感謝です^−^
かなーりインチキだけど出来ました。皆様の参考になるかは疑問ですが(大汗)

シート1
A1〜A100←必要な分だけ連番を打つ(整数2から始める)

シート2には

=INDEX(Sheet1!$A2:$A$151,INT(Sheet1!A$1/2))僕の表では背表紙管理番号

=INDEX(Sheet1!$B2:$B$151,INT(Sheet1!A$1/2))管理番号の名前

あとはフィルドラックでコピーすれば楽チンですなっと(sune)

なるほど空白で上手く表をここで書けないのはその機能があるからかな??


シート1
    A     B     C     D     E     F

[1]       2     3     4     5     6     7

[2]       231     東京

[3]       545    大阪

[4]       636    札幌

ってな具合に入れる連番は作る分打つべし

1〜連番打ったらゼロになってしまうので2から打つべし

(sune)


シート2 書式は色々と調整必要だけど関数入れてフィルドラッグでコピーしてしまえば簡単です。

=INDEX(Sheet1!$A2:$A$151,INT(Sheet1!A$1/2))管理番号入れたいセルに入れて右にフィルドラック

=INDEX(Sheet1!$B2:$B$151,INT(Sheet1!A$1/2))名前入れたい同上

      A     B     C     D     E

[1]      2     2     5     5

       3     3     4     4

[2]      1     1     5     5

[3]     東     東    大     大 

[4]     京     京    阪     阪


 出来ましたか。良かったです。

 ポイントとなる部分はどこかのセルに書き出しておくと
 分かりやすいですし 変更が在ったときも
 簡単に変更出来るように成ると思うので
 良いと思います。

 でも、仕組みを知らない人は「何で2からなの?番号は1番からでしょ!!」と
 1番から番号を振ってしまうかもしれません。

 たとえば、シート2の方で
 INT(Sheet1!A$1/2) → INT((Sheet1!A$1+1)/2)
   Sheet1のA1セルの値に +1 してから/~~  2で割る事にすると
「ここは連番を振っておいてよ」と言える様に成るかもしれません。

 (HANA)

HANAさんのアドバイスで背表紙用関数完成して皆喜んでましたよ^^本当にありがとうございます^−^

なるほど+1でよかったのですな(汗)

シート1の連番は横に打ってるからチョッチかっこ悪くなってしまいましたけどね

これを参考にして背表紙作成する方へのトラブルシューティング

シート1の名前などの表記で−(マイナス)あるいわ‐(ハイフン)は縦表記で伸びる表示になりません→ひらがなのーにすると縦の伸びる表示になります。

−→|

シート2のセル結合するとフィルドラッグして貼ると関数が飛び飛びになります。→結合せずにセルの幅を変更してください

シート2の書式(セルの幅など)を他の列からコピーペする時は列全体をコピーして貼りましょう

シート1の表に異なる一覧を貼り付ける場合は削除してから貼ると関数が#REVとなりますのでそのままコピペしましょう。


 あ、そうかぁ。
 連番は下の表とは関係なく連番が必要なんですね。。。

 じゃあ、元の話に戻りますが こう考えてみるのはどうでしょう?

 >=INDEX(Sheet1!$A2:$A$151,INT(Sheet1!A$1/2))管理番号入れたいセルに入れて右にフィルドラック
 と言う事は、INT関数の中の変化する部分は Sheet1の1行目の値が
 右から順に入っていきますね?

 Sheet1の1行目は 2,3,4,・・・と連番を入れることに成っているので
 COLUMN(A1)+1 を右にフィルドラッグした時の結果と一致します。

 Sheet1!A$1 の所を COLUMN(A1)+1 に変えて
 =INDEX(Sheet1!$A2:$A$151,INT((COLUMN(A1)+1)/2))
 の様にすると Sheet1の1行目は不要と言う事に成りませんでしょうか?

 (HANA)

なるほどーーやってみます^−^

HANAさんにひとつ質問してもよろしいでしょうか?完成したエクセルをこの掲示板の貼れますか?

こんな感じになりましたーーーみたいだったら皆の参考になるかなぁーーと思いまして^^


HANAさん出来ましたよーーーーすごーーい

シート1の横に打っていた連番は必要なくなりました^−^


 出来ましたか。良かったです。

 ちなみに、
 >−(マイナス)あるいわ‐(ハイフン)は縦表記で伸びる表示になりません
 >→ひらがなのーにすると縦の伸びる表示になります。 
 に関してですが、エクセルには SUBSTITUTE関数というのが用意されています。

 これは、文字列中の指定された文字をほかの文字に置き換える関数です。
 たとえば、A1セルに「AB-01」と入力されていた場合
 =SUBSTITUTE(A1,"-","ー") の結果は「ABー01」に成ります。

 マイナスがあった場合も変換したい場合は、さらに SUBSTITUTEを重ねます。
 =SUBSTITUTE(SUBSTITUTE(A1,"-","ー"),"−","ー")

 実際はこの A1 の所が、INDEX(・・・・)の式に成ります。

 強制的に変換してしまって良いものかどうかは難しい所かもしれませんが。

 ちなみに、この掲示板自体は ファイルを公開出来る機能は持ってませんので
 どこかファイルを載せられる場所を見つけて URLでリンクする形になります。

 (HANA) 

HANAさん本当にありがとう^−^

関心するばかりであります。

リンク貼ってるのたまにありますねーーリンク先にジャンプした事ないけど(汗)

自分は事務職ではないのでエクセル使う必要はあまりないのですがこれから先必要になるかもしれないの

で皆さんのヒントを元に勉強しますよ^−^
(SUNE)


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.