• 締切済み

エクセル関数

同一ファイル内に二つのシートがあります。 「シート1」 コード  名前   金額       100001 太郎   15,000    200001  次郎 20,000    200501 次郎´ 25,000 300001  三郎 30,000    400001  四郎 35,000 「シート2」 (1)    (2)    (3)    (4)       15,000 20,000 30,000 35,000  25,000 上記のようにシート1にある6桁のコードの先頭の数字を元に、シート2の上部にある(1)~(4)の下に金額が表示されるようにしたいのですが、ご教示の程お願い致します。

みんなの回答

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

良く似た先ほど質問があり http://okwave.jp:80/qa3994808.html #3に答えました。 作業列を使うこと 同一シート内に出した の違いがありますが、興味があれば参考に。 作業列を使わないと、既回答のように式の理解が難しくなると思います。 そもそもVBA向けの課題だと思いますが。

noname#204879
noname#204879
回答No.3

Sheet1    A   B   C 1 コード 名前 金額 2 100001 太郎 15,000 3 200001 次郎 20,000 4 200501 次郎 25,000 5 300001 三郎 30,000 6 400001 四郎 35,000 7 Sheet2    A    B    C    D 1   (1)   (2)   (3)   (4) 2 15,000 20,000 30,000 35,000 3     25,000 4 Sheet2 において、 1.範囲 A1:D1 を“ユーザー定義”で   "("G/標準")"   に書式設定して、左から数値 1、2、3、4 を入力 2.セル A2 に次の[条件付書式]を設定   数式が    =ISERROR(A2)   フォント色  白 3.セル A2 に次の配列数式を入力して、此れを下方および右方にドラッグ&ペースト   {=INDEX(Sheet1!$C$2:$C$1000,SMALL(IF((INT(Sheet1!$A$2:$A$1000/100000)=A$1)*(ROW(A$2:A$1000)),(INT(Sheet1!$A$2:$A$1000/100000)=A$1)*(ROW(A$2:A$1000)),""),ROW(A1))-1)}

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.2

わかりやすい方法でA列にでも作業列追加します。   A   B  C  D    コード 名前 金額 A2には、=LEFT(B2,1)*1 下フィル シート2に  A   B  C  D・・・・  1   2  3  4と数値を右フィル A2には、=VLOOKUP(A1,シート1!$A:$D,4,FALSE) 右フィルではいかがでしょうか。

igu0625
質問者

補足

ありがとうございます。 結果は#N/Aになってしまいました。 シート1で作業列を追加し、そこには一桁の数字が入力された状態になります。 シート2ではその一桁の数字をどのように生かしているのかが不明です。 質問がわかりづらくて申し訳ありませんが、シート(1)にコード、名前、金額を入力したら、そのコードの左端一桁の数字に基づいて、シート(2)で自動的に振り分けがされるようにしたいと思っています。 重ねて宜しくお願いします。

  • fifaile
  • ベストアンサー率25% (622/2403)
回答No.1

よくわかりませんけど、シート2のところに =INT(コードセル/100000) でコード先頭の1桁を取得できますから、あとはIF文で引っ張れば大丈夫です。

関連するQ&A

  • 岡崎次郎三郎や茶屋四郎次郎

    岡崎次郎三郎信康や茶屋四郎次郎の「次郎三郎」とか「四郎次郎」ってどういう意味ですか? ほかに有名な、例えば「太郎次郎」とか「三郎次郎」って名前が付く歴史人物はいますか? 教えて下さい。 お願いします。

  • エクセルで文字列を数えて一覧表にしたいのですが

    たとえばですが、2人一組で配達に行きます。 メンバーは、太郎、次郎、三郎、四郎、五郎・・・と多人数です。 A1に太郎、B1に三郎 A2に次郎、B2に五郎 A3に太郎、B3に次郎 ・ ・ ・ と、いうような表ができます。 このとき、*郎は何回配達にいったのかをカウントしたいのです。 *郎は、A、Bのどちらに登場するかわかりませんし、 何回も登場しますし、組み合わせもばらばらです。 最終的に、太郎 15回、次郎 8回、三郎 21回・・・というように分かるようにしたいので、 仮にD1に太郎、E1に次郎、F1に三郎・・・の名前 (ダブって登場する名前を一つにまとめて、登場する全ての名前を残したい)、 D2に太郎、E2次郎、F2に三郎の回数(登場した名前の回数を数字で求めたい) というようにしたいのです。 エクセルの詳しい方、よろしくお願いします。

  • エクセルのVBAで、ファイルの読込・出力をしたい。

    エクセル2003 VBAで、得意先コードを基準に(質問1)(質問2)を行いたいです。 申し訳ありませんが、教えて下さい。 (質問1) VBAで得意先コードが一致するものを読みたいです。 [表A.xls]に[表B.xls]の前月残高を読み込ませたい。 [表A.xls] 得意先コード |  氏名  |  前月残高  | ----------------------------------------------- 11121234   | 山川太郎 |   2000   | 131235432   | 山川次郎 |   500   | 113456789   | 山川三郎 |    0   | 12214321   | 山川四郎 |   20000   | 12119876   | 山川五郎  |  1500   | 137896543   | 山川六郎 |    0   | [表B.xls] 得意先コード | 前月残高 | ----------------------------- 11121234   |  10000  | 131235432   |    0 | 113456789   |  25000 | 12214321   |     0 | 12119876   |   5620 | 137896543   |   800 | [表A.xls]の前月残高をクリアして、 [表B.xls]の前月残高を読み込みたい。 【読み込み結果】 得意先コード |  氏名  |  前月残高  | ----------------------------------------------- 11121234   | 山川太郎 |   10000   | 131235432   | 山川次郎 |    0   | 113456789   | 山川三郎 |   25000  | 12214321   | 山川四郎 |     0  | 12119876   | 山川五郎 |    5620  | 137896543   | 山川六郎 |    800  | (質問2) その後、VBAで得意先コードの先頭2文字を指定して、 [表A.xls]から[表C.xls]を出力したい。 得意先コードは、8桁や9桁があります。 【得意先コードの先頭2文字を、例えば11と指定して出力した結果】 [表C.xls] 意先コード |  氏名  |  前月残高  | ----------------------------------------------- 11121234   | 山川太郎 |   10000   | 113456789   | 山川三郎 |   25000  |

  • 【Excel VBA】コピー&ペーストの自動化

    以下のエクセル表があり、同じ日付ごとのデータを自動的に別のシートに移したいです。 例えば、別のシートに、2004/1/1に書かれているデータのみを移す。(シート2参照) それをVBAで書くにはどうすればいいでしょうか。 マクロの記録をするのではなく、この表の日付を増やしたり変えたりしても機能するようにコードを書きたいと思っております。 For LoopとIf thenを使い、A1セルがそれより下のセルの値と異なるまでコピーし続ける、、といった作業をすればよいのでしょうか。 全くの初心者で勉強中です。よろしくお願いいたします。 列行 A B 1 2004/1/1 太郎 2 2004/1/1 次郎 3 2004/1/1 三郎 4 2004/1/1 一郎 5 2004/1/1 五郎 6 2005/3/3 三郎 7 2005/3/3 次郎 8 2005/3/3 太郎 9 2005/3/3 四朗 10 2006/2/2 次郎 11 2006/2/2 一郎 12 2006/2/2 太郎 シート2 2004/1/1 太郎 次郎 三郎 一郎 五郎 シート3 2005/3/3 三郎 次郎 太郎 四朗 シート4 2006/2/2 次郎 一郎 太郎

  • エクセルVBAで複数VLOOKUP

    お世話になります エクセルが3つあるとします下記 大阪方面.xls コード|太郎|次郎|三郎|四郎| 0111|  1|   | | 1 | 0112|  |  1| | | 0113|  |  1| | | 0114|  |   | | | 京都方面.xls コード|田中|次郎|五郎|四郎| 0111|  2|   | | 2 | 0112|  |  1| | | 0113|  |  3| | 1| 0114|  1|   | | | 奈良方面.xls コード|田中|次郎|五郎|四郎| 0111|  2|   | | 2 | 0112|  |  1| | | 0113|  |  3| | 1| 0114|  1|   | | | 上記3件のエクセルをを合計させたいのですが ■問題点 *名前がランダムに入っている *名前の件数も決まっていない(セルのF20~BH20までのどれかに名前が入る)行数は1619です。 上記の内容からすべてに関数を入れるのは非常に重たくなりそう *エクセルファイルは3つとは限らない。 *エクセルファイル名が決まっていない ■やりたいこと VBAのフォームにテキストボックス(ファイル場所表示用)を設置しダイアログボックス呼び出し用ボタンを設置(10個ぐらい) 必要なxlsを指定し実行ボタンで下記のような計算をさせたいのが理想です。 合計.xls コード|太郎|次郎|三郎|四郎|田中|五郎| 0111|  1|   | | 5| 4 | | 0112|  |  4| | | | | 0113|  |  7| | 2| | | 0114|  |   | | | 2 | | Win XP オフィース2003 わかる方ご教授願います。

  • 「並び替えとフィルター」を使って空白以外を抽出

    シート1に別のシートから抽出した人名が並んでいます。 シート2にも別のシートから抽出した数字が並んでいます。 人名と数字は同じ行/列に格納されます。 シート1もシート2も空白が含まれています。 シート3に人名と数値を隣り合わせで格納したいのです。 シート1とシート2共に、「並び替えとフィルター」を使って空白以外を 抽出したいのですが、「昇順/降順」を使うと、人名と数字の関連が崩れる ので困っています。 「並び替えとフィルター」で不可能ならば、別な方法でも構いません。 ご教示いただけますようお願い致します。 シート1                 シート2   A   B   C   D         A   B   C   D 1 太郎     次郎         1 100       10 2 三郎 花子     春子     2   5  200       50 3         秋子 夏子     3         500  100 4 四郎 五郎 六郎         4  80  300  400 5 七郎         冬子     5 300            60 シート3   A   B   C   D   E   F   G   H 1 太郎 100  花子 200  次郎 10  春子 50 2 三郎   5  五郎 300  秋子 500  夏子100      3 四郎  80          六郎 400  冬子 400    4 七郎 300      5                 

  • 【EXCEL関数】違うシートに抽出結果を出したい

    一覧表から「○」の条件が付いたデータのみを別シートに関数で抽出したいです。 フィルタではなく関数を使用したいのは、抽出したデータから名前の定義を使用して リスト表示をさせたいためです。ご教示のほど、宜しくお願いします。 シート1は一覧表となっており、A列に「○」のついたデータのみをシート2に表示 シート1(一覧表)   A  B 1  ○  山田太郎 2  ×  佐藤次郎 3  ○  高橋三郎 4  ×  鈴木四郎 5  ×  中村五郎 シート2(抽出結果を表示させる)   A  B 1  ○  山田太郎 2  ○  高橋三郎 3  4  5 フィルタオプション、当方の考え得る限りの配列関数等、色々試しましたが、 不勉強のために上手く結果が表示されませんでした。 ご教示のほど、宜しくお願い致します。

  • エクセルのことで質問です

    うまく説明ができないかもしれないのですがよろしくお願いします<(_ _)> シート1 会社名  氏名   携帯番号 ○○会社 山田太郎 090-****-**** ○○会社 佐藤次郎 090-****-**** ○○会社 田中三郎 090-****-**** ××会社 松尾四郎 090-****-**** ××会社 小泉五郎 090-****-****         ・         ・         ・ シート2 会社名  氏名   携帯番号 ××会社 松尾四郎 というデータがあって、シート2で××会社の松尾さんの携帯番号を抽出したい時は何の関数を使えば良いでしょう?

  • エクセルの同じ名前をカウントする方法

    エクセルの同じ名前をカウントする方法 初歩的な質問ですみません。 山田太郎 田中一郎 鈴木三郎 高橋次郎 鈴木三郎 高橋次郎 鈴木三郎 A1のセルにこういった状態で名前が入力されていた場合に 山田太郎 1 田中一郎 1 鈴木三郎 3 高橋次郎 2 となるように同じ名前がいくつあるかをカウントさせ上記のように表示させたいのですが、 どうしたらいいのでしょうか? (同じシートでも、別のシートでもどちらでも構いません) 至急お答えいただけるとありがたいです。 よろしくお願いします。 

  • エクセルでのデータ抽出について

    エクセルでのデータ抽出について質問です。 現在、エクセルで以下のようなシートがあります。 *アルファベットと数字はエクセルシートの座標です。データではないです。 _|__A___|__B___|__C___|__D__|  1|_太郎_|_次郎_|_三郎_| 2|__@___|__@___|__ ___| 3|__@___|__@___|__ ___| 4|__@___|__ ___|__@___| 5|__@___|__ ___|__@___| 上記のように1行目には人の名前が入っていて、二行目以降には@が入っているシートです。 現在、私のやりたいことはDセルの2~5行目までに何かしら数式を入れて、シートを行で見たときに@が入っている人の名前をDセルに表示をさせたいです。 具体的に言うと、D2には『太郎・次郎』、D5には『太郎・三郎』といった具合です。 どなたかこの処理が簡単にできる関数や方法をご存知の方はいらっしゃいませんでしょうか? 実際にはデータシートが1000行ほどあって手打ちだとなかなか骨が折れる仕事です。。。 どなたかご助言お願いいたします。 よろしくお願いいたします。

専門家に質問してみよう