• ベストアンサー

エクセルのRIGHT関数教えてください!

OL一年生です。上司に3回教わったのにいまだにわからないので 教えてください。 エクセルのシートのD列2行目から下に00111111からはじまる 8ケタのコードが2千個くらい縦に入力されていまして、これを 別のウィンドウのエクセルのD列に6桁になおして貼り付けたいのです。 今までやっていた方法は、8桁のD列を全て選択して、RIGHT関数を選択し、文字列に『D2』、文字数に『6』と入力し貼り付けようとしたのですが、セルD1に『RIGHTD2+6』と表示されてしまったりして、うまくいきません。 ご存知の方教えてください! よろしくお願いいたします。

noname#90764
noname#90764

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

  • ベストアンサー
  • shun0120
  • ベストアンサー率100% (1/1)
回答No.4

こんにちは。 >文字列に『D2』、文字数に『6』と入力し貼り付けようとしたのですが、セルD1に『RIGHTD2+6』と表示されてしまったりして、うまくいきません。 文字の半角や全角は大丈夫ですか? Excelの関数で、セルや値を指定するときは、半角で入力します。 例えば、文字列に『D2』、文字数に『6』と入力します。 正しく入力すると、貼り付け先のセルに =RIGHT(D2,6) と表示されると思います。どうでしょうか?

その他の回答 (3)

  • ham_kamo
  • ベストアンサー率55% (659/1197)
回答No.3

2千行くらいコピーするのは大変ですね。質問の回答ではなくお節介かもしれませんが、マウスを使わずたくさんの行に簡単にコピーする方法を紹介しておきましょう。 RIGHT()関数で別ブックのセルの参照をするときの方法はNo.1さんの方法でうまくいくはずなので、それがうまくいってD2のセルに正しく結果が表示されたら、以下の手順を試してみてください。 1.元のシートでCtrl+EndとしてD列が何行まであるかメモしておきます。 2.コピー先のシートで、左上の名前ボックス(A1とか表示される部分)に、D2:D2000と入力し(2000は先にメモしておいた実際の行数)、Enterを押します。 3.その状態でF2キーを押し、Ctrl+Enterを押すと、全部のセルにコピーされます。 大量のセルのコピーをするときに覚えておくと便利な小技です。

noname#40742
noname#40742
回答No.2

#1です。1カ所訂正します。失礼しました。 =RIGHT([book.xls]Sheet1!d2,6)

noname#40742
noname#40742
回答No.1

同じシートの空いてる列に入力するなら =RIGHT(D2,6) ですが、 別のエクセルファイルにでしたら =RIGHT([エクセルファイル名.xls]シート名!D2,6) と入力してください。 すなわち8桁の数字が入ってるファイル名が book.xls シート名が Sheet1なら =RIGHT([book.xls]Sheet1!d2) と入力することになります。 あとは、そのセルをコピーして 下方向2000行に貼り付けます。

関連するQ&A

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

    エクセルのシート(1)に組合員コード(7桁),氏名,商品,数量・・・が入力してあって、列を挿入し、その組合員コードの左3桁を表示するLEFTの文字列関数を入力します。 それによって3桁が表示され、その3桁のコードは、支店コードを意味するので、シート(2)に支店コード、支店名が入力してあるのでそこから参照するようにシート(1)の3桁が表示されている隣に新たに列を挿入し、シート(2)の支店コードから支店名を引き出すようにVLOOKUP関数を入力したら、「N#A」という表示が出て支店名が表示されません。 LEFT関数によって表示された文字列だと「N#A」で支店名が表示されないのですが、自分で3桁の数字を入力すると支店名が表示されます。 3桁の文字列の結果の値だけをコピーしても、「N#A」が表示され、支店名が表示されません。 文字列関数によって表示された結果から、VLOOKUPで参照は出来ないのでしょうか? 1つずつ自分で数字を入力するしかないのでしょうか? 他に何か別の方法でも構いませんので、教えていただけないでしょうか?

  • エクセルVBA及び関数

    初心者です。お教えお願いします エクセル2003です 空白行及び0をなくしたいのですが(C列を入力された時点で自動でE列のようにしたい) 関数の場合及びVBAのシートコードを両方教えていただけないでしょうか VBAのコードは勉強の為です Sheet1    A    B     C     D     E     F 16          文字A        文字A 17          文字B        文字B 18            0         文字C 19          文字C        文字D 20            0         文字E 21          文字D        文字F      22      23          文字E 24 25          文字F 文字はC16~C80まで入っております B16~E80までのセルのみで行いたいのですが 他の場所は関数やグラフ等がすでに入ってますのでいじりたくありません E16~をフォームのコンボボックスのリストにしようと思ってます よろしくお願いましす

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

    エクセル関数についてご教授ください。 添付図のようなデータ入力シートがあり入力者は山田、太田、斉藤の3名が入力します。 今、山田さんが7/29日の数学の列の10:40-12:10行のセルに「伊藤」と入力し、太田さんが同日のEnglishの列の13:00-14:30行のセル に「伊藤」と入力し、さらに斉藤さんが同日の国語の列の14:40-16:10行のセルに「伊藤」と入力した場合にsheet2(シート名:伊藤)の表に図で示すようなデータを自動で入力させたいと考えています。 sheet1の日付は横に1週間分あります。同様にSheet2(伊藤)にも同じ日付で1週間分あります。 このようなことは可能でしょうか? エクセル関数初心者で非常に困っています。 どうかご指導いただきたいです。

  • エクセルの関数で

    いつもお世話になってます。 例えばA列に商品コード、B列に商品名が入力されているシートがあって、あるセル(例えばC1)に商品コードを入力すると特定のセル(例えば(D2)に商品名が転記されるようにするにはD2にはどのような関数を書けばいいのかどなたか教えてください。

  • エクセル関数2

    シート(1) A B C D 作業列    コード    顧客名     金額 3        300001     A 10,000 3        300002   B 15,000 3        300003   C 20,000 3        300004   D 25,000 3        300005   E 30,000 4        400001   F 35,000 4        400002   G 40,000  4 400003 H 45,000 4 400004 I 50,000 4 400005 J 55,000         シート(2) A B C D E F 「1」 「2」 「3」 「4」 「5」 「6」 10,000 35,000 15,000 40,000 20,000 45,000 25,000 50,000 30,000 55,000 ※ シート(1)にコード、顧客名、金額を入力すると、シート(2)にあるように該当するコードの先頭行の列に表示するようにしたいと思っています。 シート1で作業列を作りその作業列を基にシート2でVLOOKUP関数を使い‥シート2の10,000のセルの場合、 VLOOKUP(C$2,sheet1!$A$3,$D$12,4,false)として、下にコピーすると同じ金額になってしまいます。 セルが空白にならず、シート1の金額が上から順番にシート2に表記されるようにするにはどうしたらよいでしょうか。マクロはできませんので、関数で詳しく教えて下さい。宜しくお願いします。

  • Excel LookUP関数のタイプ設定

    お世話になります。 エクセルで別シートにデータベースを作り、メインのシートで入力したらLookUp関数で名前を取得するように組んでいます。 このとき、入力するコードが数字4桁固定で、しかも0から始まるので文字列にし、データベースも文字列指定しているのに、正しい値を持ってきません。 どうやら、関数では数字で認識していたり、文字列になっていたり、正しい名称をもってきたり来なかったりと不安定です。 どのように設定したら良いのでしょうか、教えてください。

  • Excelの関数について

    エクセルの関数で指定列に指定文字があったら、その右隣のセルの内容を別シートの指定セルに表示するというものはありますでしょうか? 参考として画像を添付致しますが、Sheet2のD列に「冷凍食品半額」という文字列があったら、その文字列の右隣にあるセルの内容(売上金額)をSheet1の指定セルに表示するというものです。 別シートの指定セルにIF関数を入れてやれば何とかなりそうな気がしたのですが、出来なかったので質問させて頂きます。 よろしくお願い致します。

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

    エクセルの関数について教えて下さい。 ”シート1”に、”シート2””シート3””シート4”から、ある文字列”あああ”が同じものをその行をまるまるシート1に表示したいのですが。。。 そのような方法はありますか?一列一列SUMIFで関数を入力しなければいけませんか? 説明がわかりにくくて申し訳ありません。 宜しくお願い致します。

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

    エクセルの関数。 Sheet1の作業列1のA2セルに =IF(COUNTA(Sheet2!2:2)=0,"",IF(Sheet2!A2="",A1,Sheet2!A2)) →数式1とする 作業列2のB2セルに =IF(A2=$D$2,ROW(),"") →数式2とする という数式を入れA2・B2セルを範囲指定 → B2セルのフィルハンドルで下へコピーしておきます。 (Sheet2の行数以上コピーしておく) そしてE2セルに =IF(COUNT($B:$B)<ROW(A1),"",INDEX(Sheet2!B:B,SMALL($B:$B,ROW(A1)))&"") →数式3とする という数式を入れオートフィルで列方向・行方向にコピーする。 教えて頂きたいことは、数式1、数式2、数式3が何を意味しているのか。 と、この数式を使って、表を作成したのですが、ある特定の数字(コード、D2セルに入力)を入力しても反応してくれない。 (E2~H2まで、空白セルの状態になります。) (sheet2は約1200行あります。) 教えて頂けないでしょうか?

  • エクセル関数の他のシート参照について

    エクセル2000についてお尋ねします。どんな関数でもいいのですが、例えば「INDIRECT」関数で「sheet5」のD20セルに「INDIRECT($H$13"月!D3")] という関数を入れました。「sheet1」から「sheet4」には1月から4がつのデータがあります。「sheet5」のH13セルに1と入れたら。「sheet5」のD20セルに1月のD3セルが出るようになっています。ところが、この関数を相対コピーできません。"月!D3"が文字列なので?オートフィルでコピーできず一つ一つ入力しなくてはいけません。他に良い方法はありませんか?