• ベストアンサー

エクセル関数で文字を一つ飛ばしにリンクさせたいのですが。。。

エクセルで子供に英単語の暗記カードを作ってあげたいのです。 シート1に英単語のデータ(単語、意味、発音記号)があり、それをシート2に印刷用としてリンクさせたいのですが、 1単語のカードが(単語、意味、発音記号)の3行で出来ているため普通にリンクを貼って3行をセットに下へドラッグしても、 単語のデータが2行とばしでしかリンクされなくて困っています。 印刷用シートは横2行になっているので、データを1行目→2行目1行目→2行目…と交互に入るように設定したいのですが。。。  -データ-(シート1)        -印刷用-(シート2) television  テレビ 記号      television  telephone telephone   電話  記号  →    テレビ    電話 floor     床   記号        記号     記号 calculator  電卓  記号       floor    calculator                     床     電卓                     記号     記号 1行目には奇数の単語、2行目には偶数の単語がリンクされる様にすれば良いのではないか?と考えたのですが、どの様な関数を使えば 良いか分かりません。 あと関数とは別なのですが、それぞれのカードの裏に単語の意味の イラストをつけて印刷したいのですが、エクセルにイラストを沢山 つけて保存することは可能でしょうか? よろしくお願いいたします。

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

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

リンクという言葉を使う人(質問が)がありますが、色々の意味で使われるので、関数関係なら、参照や代入が良いのでは無いでしょうか。 Sheet2で(持ってくる方を中心に関数は考えます)ので 行と列の番号を並べると  C列  G列と仮定 (1,1)  (2,1) (1,2)  (2,2) (1,3)  (2,3) (3,1)  (4,1) (3,2)  (4,2) (3,3)  (4,3) ・・ 関数は式の複写の仕組みを使えてこそ便利なのでそれに便利なように 列の式を構成します C1は3単位でカウントアップし、行が1つづつ増えてもすぐには アップしない。 それは、定石があって,iを行番号として =(i-1)/3+1  =(INT((ROW()-1)/3)+1) とすれば 1 1 1 2 2 2 3 のようになります。しかし印刷のことを考えると空白行をはさむ必要もあるでしょう 1 1 1 -- -- 2 2 2 -- になってほしいでしょう。 すると3->5にして =IF(MOD(ROW()-1,5)>2,"",(INT((ROW()-1)/5)+1)) とすると 1 1 1 - - 2 2 2 - - 3 3 のようになります。 これで行の決定は終ります。 ーーー 列ですが これも行と関連付けて =IF(MOD((ROW()-1),5)>2,"",MOD((ROW()-1),5)+1) とします。下方向に式を引っ張ると 1 2 3 - - 1 2 3 - のようになります。 (1,1)  (1,2)  などでなく実際のセルの値を採ってくるのは INDEX関数でぎょう、列を指定してデータを採ってくる関数なので =INDEX(範囲、行、列) で範囲はSheet1のA,B,C列です。 行は(1,1)の初めの数字に当たる数。 列は(1,1)の後めの数字に当たる数です。 Sheet2の塊として2列目は 行は1列目の塊の対応行の数に+1 列は1列目の塊の対応行の数と同じ ーー これだけで考えは終わり。 ーーー 具体的には 質問どおりのSheet1のデータを使う・ Sheet2の C1に =INDEX(Sheet1!$A$1:$E$101,IF(MOD(ROW()-1,5)>2,101,(INT((ROW()-1)/5)+1)),IF(MOD((ROW()-1),5)>2,5,MOD((ROW()-1),5)+1)) と入れて、下方向に式を複写する。 television テレビ X ー ー telephone 電話 Y ー ー floor 床 Z ー (注)余白に当たるセルに、空白を出すためE101を使いそのセルを 1スペース入れてます。 ーー 間額なるのでSheet2の第2の塊列の説明は略。 ====== こんなに面倒くさくなるのも関数に固執するため。 VBAでやらないと普通はダメな問題でしょう。 印刷の自動化、1枚の紙に何セット1語のデータの塊を印刷するか などの課題からも。

a_a-misa
質問者

お礼

こちらもスゴイ!出来ました~!! いろいろ丁寧にご説明下さってありがとうございます。 やはりVBAでするのが良いのですよね。ですが私のレベルではサッパリで。。。 空白を入れずに作っていたので少し戸惑いましたが、今後使うことがありそうなので 参考にさせて頂きます! ありがとうございました~!!

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

その他の回答 (2)

noname#79209
noname#79209
回答No.3

エクセルを使うより、以下のソフトをつかうほうが楽なのでは? http://www.labelyasan.com/index.html 元データとしてエクセルファイルが使えます。

a_a-misa
質問者

お礼

こんな便利なものがあるのですね!今後も何かと使えそう! 一度手作りで気の済むまでやってみてから検討したいと思います! ありがとうございました~。

全文を見る
すると、全ての回答が全文表示されます。
  • maron--5
  • ベストアンサー率36% (321/877)
回答No.1

◆Sheet1      A        B     C 1   television   テレビ   ○ 2   telephone   電話    ▲ 3   floor       床     ■ 4   calculator   電卓    ★ ◆Sheet2       A          B 1   television    telephone 2    テレビ       電話 3      ○         ▲ 4    floor       calculator 5     床         電卓 6      ■         ★ A1=INDEX(Sheet1!$A:$C,INT((ROW(A1)-1)/3)*2+COLUMN(A1),MOD(ROW(3:3),3)+1) ★右と下にコピー

a_a-misa
質問者

お礼

出来ましたー!!スゴイ!嬉しい~ ヽ(感'∀'激)ノ 3日間 悩み続けていたことがこんなに早く解決できちゃうなんて、 もっと早く皆さんにお伺いすれば良かった! (数式を見て、私が考えても全くムダであったことを知りました。。。) ありがとうございました~!

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

関連するQ&A

  • エクセル関数で文字をリンクさせ、カードを作りたいのですが。。。

    以前、QNo.3889525 で同様の質問をさせて頂きましたが、出来栄えが良かったため、その後また子供に漢字カードを 作ってあげたくて数式を変えてみましたが、どうしても分からなくなってしまいました。 今回は、 シート1に漢字のデータ(漢字、よみ、英単語、発音記号)があり、それをシート2に印刷用としてリンクさせたいのです。 1語分のカードは表裏用があり、AB列が表用、CD列が裏用のそれぞれ2行づつで出来ています。 印刷用シートは表(AB行)裏(CD行)用で横4行/縦2行になっています。それぞれデータを1行目→2行目1行目→2行目…と 交互に入るように設定したいのですが。。。 ◆Sheet1(データ)     A     B     C       d 1   一    いち    one     発音記号 2   右    みぎ    right    発音記号 3   雨    あめ    rain     発音記号 4   音    おと    sound    発音記号 ◆Sheet2(印刷用)      A      B      C         d 1    一     右      one       right 2    いち    みぎ    発音記号    発音記号 3    雨     音      rain        sound 4    あめ    おと    発音記号    発音記号 以前質問させて頂いた時にご回答頂いた数式に手を加えてみました。現在はAB行は上手く出来ていますが、CD行がどうしても出来ません。 現在の数式は(C行) =INDEX(単語表!$C:$D,INT((ROW(C1)-1)/2)*2+COLUMN(C1),MOD(ROW(2:2),2)+1)  なのですが、シート1の3行目(rain)からしか表示されず、1~2行目(oneとright)がどうしても出てきません。 AB行は上手く出来ているので、恐らく上記の関数を少し変えれば出来るだろう!と試していたのですが、無理でした。。。 よろしくお願いいたします!!

  • 誰かエクセル教えてください!!(初心者です)

    sheet1にA1からA100まで連番が入っています。     B1からB100まで英単語が入っています。     C1からC100まで発音が入っています。 sheet2に2列5行で10個の単語カードを作りたいんです。これをフォームとします。 sheet1のA1からA100の任意の番号を入れたら sheet2のカードが印刷されるようにしたいです。 1~100と入れたら全部印刷されるようにもしたいです。単語は今後も増えていきます。 Sheet2の10個の単語カードは10個を超えたりシートを何枚も使うのではなく、年賀状作成ソフトのように1枚だけ(この場合10個ですが)にしたいです。 よろしくお願いします。

  • 誰かエクセル教えてください!!(初心者です)

    sheet1にA1からA100まで連番が入っています。     B1からB100まで英単語が入っています。     C1からC100まで発音が入っています。     D1からD100まで意味が入っています。     E1からE100まで例文が入っています。     F1からF100まで例文の意味が入っています。 sheet2に10個の単語カードを作りたいんです。 1枚目のカードはsheet2のA3に英単語、B3に発音、C3に意味、D3に例文、A5に例文の意味を入れたいです。2枚目は、A8に英単語、B8に発音、C8に意味、D8に例文、A10に例文の意味を入れたいです。3枚目は、A13に英単語、B13に発音、C13に意味、D13に例文、A15に例文の意味を入れたいです。5枚目まで同様です。6枚目は、F3に英単語、G3に発音、H3に意味、I3に例文、F5に例文の意味を入れたいです。7枚目は、F8に英単語、G8に発音、H8に例文、I10に例文の意味を入れたいです。10枚目まで同様です。これをフォームとします。 sheet1のA1からA100の任意の番号を入れたら sheet2の単語のカードが印刷されるようにしたいです。1~100と入れたら全部印刷されるようにもしたいです。単語は今後も増えていきます。削除はありません。 任意の番号は2セル用意してあって、12番という指定をしたら、12番の単語をフォームで印刷(残り9カードは空白)です。何々から何々までと言う番号を入れると、その範囲の番号の単語を印刷即ちフォームにセットして印刷したいです。 1フォームで中身の単語が次々入れ替わって、印刷したいです。 完成したらsheet2の名前を「印刷」、sheet1の名前を「データ」としたいです。 できれば、sheet1のB列の英単語のデータを並び変えてもA列の番号、C列の発音などがついて来るようにしたいです。 無理なら出来なくてもいいです。 前回、よく似た質問をしているんですが・・・

  • excelでのリンク?

    画像にあるように、同ブック内のSheet間で『売上』Sheetのデータを 左の『請求内訳書』に引っ張っています。 このリンク元である『売上』Sheetのデータを移動させた場合、リンク先である『請求内訳書』の 数式も一緒に移動してしまい、本来表示させたい値になりません。 例えば、売上Sheetの4行目と5行目の間に行を挿入したとすると、請求内訳書のデータは、 行を挿入しても変更されません。【下の画像】 並べ替えだと変わります。 リンク元のデータを変更したら、リンク先のデータも変わるようにするにはどうすればいいのでしょう。 あと、変更する度にリンク先のセルの書式が文字列に変更されてしまいます。 これも回避したいのですが。 どうかよろしくお願い致します。 WindowsXP Excel2007

  • Excel : 参照セル番号を変えない方法

    Sheet1のA列にあるデータと同じデータをSheet2のA列に表示したいと思っています。普通にリンクすると、Sheet1の例えば3行目に行が挿入された場合、Sheet2には、(Sheet2の3行目の参照が4行目に変わって) Sheet1の1,2,4行目が表示されてしまいます。これを解決する方法はありますでしょうか。($ 記号をつけてもうまくいきませんでした。)

  • エクセルによる流し込み印刷をしたい。

    今現在、 ”リスト”シートに個人リストがあり、VLOOKUPを使用し A列に「1」を入力するとその行の個人データが ”カード”シートにレポート(個人カード)として出るようになっております。 ”リスト”シートのA列に「1」入力、”カード”シートを印刷 ↓ ”リスト”シートのA列の「1」を消して一段下に「1」入力、”カード”シートを印刷 これを繰り返していますが、 ”カード”シート内に、「何行から何行までを印刷する」マクロを作成したいのです。 A6に開始行を入力、A7に修了行を入力すると流し込み印刷が出来るようになりたいのです。 VBA初心者です。 恥ずかしいような質問ですが、よろしくお願いします。

  • EXCELで空白行にのみ、データをリンクさせたいです

    EXCELで質問です。 シート1の表に入力したデータを、シート2の表の空白行にだけ、 上から順に自動的にリンクさせていくことは可能でしょうか? シート1とシート2の表のフォーマットは同じです。 シート1とシート2に、同時期に別のデータを入力していくのですが、 シート1の一部抽出したデータだけをシート2にリンクさせたいのですが。。。 回答よろしくお願いいたします。

  • エクセルの関数について誰か教えてください。

    エクセルの関数について誰か教えてください。 シート1のI3からP550までのセルに、記号や文字などのなにかデータの入力があれば、そのデータ入力があった横のセル1行全部のデータをシート2のA4のセルに表示させる方法を教えてください。 例えば横のセル3のI3からP3のセルどれかに何かデータ入力があれば、横のセル3のA3からP3までのデータをシート2に順に表示。横のセル4のI4からP4のセルどれかに何かデータ入力があれば、横のセル4のA4からP4までのデータをシート2のセル3のデータの下に順に表示させていきたいのです。 シート1のI3からP550までのセルにデータ入力がないものは対象外として、シート2にも表示はしない形にしたいのです。 よろしくお願いします。

  • エクセルで別ワークシートからリンク貼り付けしたいのですが

    ご知見ある方ご教授ください。 現在、結構な数のデータが入ったエクセルデータから、必要な部分だけを別ワークシートに貼り付けたいのですが、その際、空白セルがある行はリンク貼り付けしないように設定したいと考えています。 例えば    A B C D E 1  5 3 2 8 7 2  4 _ 5 4 _ 3  7 7 4 3 1 4  6 3 5 _ 4 5  5 2 _ 6 5 のデータで、ABC列のデータを別ワークシートにまとめる際、2行と5行は反映させず、    A B C 1  5 3 2 2  7 7 4 ← 最初のワークシートの3行目 3  6 3 5 ← 最初のワークシートの4行目 となるようにしたいと考えています。 よろしくお願いします。

  • エクセル 他の行のデータとリンクさせたい

    エクセルでデータ整理をしています。以下のようなことはできるでしょうか。 最近使用を始めたばかりで、基本的な機能しか知りません。 ご助言いただけると助かります。よろしくお願いします。 ----------------------------------------------------- (1)番号 (2)参照 ←データの見出し 1000001  104  ← ※1 1000002  91,107  ←※2 1000003  1000001 ←※3 (1)は1から続いているものとします。 ※1 この行と(1)104行のデータを何らかの形でリンクさせたいのですが 1000001行の(2)の列のセル(104と書かれたセル)選択時に 104行に飛んだり、104行に色が出るようにしたりすることはできるでしょうか。 可能な場合、どのような操作をすればよいでしょうか。 ※2 ※1が可能な場合、複数の(2)データ(91と107の行)を参照させたい場合は 何の記号で区切るべきでしょうか。 ※3 大きい数字だけどもカンマなどで区切られずに数字を載せたい場合、 列のデータ形式は何を設定すべきでしょうか。

専門家に質問してみよう