• 締切済み

エクセルの関数について

教えて下さい。 =if(A1がsheet2のセルにリンクしている場合,aaa,bbb) というif関数を作れますか?

みんなの回答

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

リンクという言葉は、良くわかってから使ってください。 普通に=Sheet2!A2なんて別シートを参照している場合は、参照の言葉が相応しいかと思う。 ーー 現状でエクセルの基本は、セルの値しか取れない。式があるかどうか、どんな数式かも含め取得できない。これ基本的知識。 VBAを噛ませれば(ユーザー関数を作れば)、HasFormuraやFormulaを使い、式の有無や式を文字列化して返せるので、使えるが。 >if関数を作れますか、はユーザー関数の意味で無いだろうから 絶対に普通のエクセル関数では作れない。 既出回答の>=IF(A1=Sheet2!A1,"aaa","bbb")は値が等しいか判別しているだけでは。

bsclub34
質問者

補足

参照でした。なんか違うなとは思いましたが・・・。すみません。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.3

基本的には関数で解決することはできないですが、苦肉の策として次の式ではどうでしょう。 =IF(A1=Sheet2!A1,"aaa","bbb")

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.2

探してみましたが見つけられなかったので、ユーザ定義関数で… Function FormulaCheck(a As Range) As Boolean  FormulaCheck = False  If InStr(a.Formula, "Sheet2!") > 0 Then FormulaCheck = True End Function 調べたいセルを()内にいれて呼び出すと、式中にSheet2!があれば真、それ以外では偽を返します。 ご質問の例でいけば、  =IF(FormulaCheck(A1),aaa,bbb) となります。

bsclub34
質問者

補足

無理な質問に専門的な回答をしていただきありがとうございます。 素人には理解不能ですが、やってみたいと思います。

回答No.1

申し訳ありませんが、「リンクしている」の意味がイマイチわかりません。もう少し具体的にお願いします。

関連するQ&A

  • EXCEL関数VLOOKUPとIFについて

    たびたび申し訳ありません シート1 セルA1(商品)  A2(値段)  A3(購入日) AAA       200円    2007年 BBB       300円 CCC       200円    2006年 シート2 セルA1(結果表示)   セルA2(商品入力) の様なデータがあるのですが シート2セルA1には以下のような関数を入れてます =IF(ISBLANK(A2),"",VLOOKUP(A2,Sheet1!A1:C3,3,FALSE)) もしシート2のセルA2に商品BBBを入れると 日付の部分が0と表示されてしまいます。 空白セルがあった場合に0ではなく何も表示されないようには どのような関数で書くのでしょうか? 又、別の件なのですがセルA1にセルA2の内容を表示するとき IF(A2="","",A2)と書いたのですがA1セルには ひし形のエラーマークが出ます。 内容は空白セルを参照していますと出てました こちらを消すにはどのようにすればよろしいのでしょうか? お願いいたします。

  • 【エクセル】 関数を使って他のエクセルの値を読み込みたい

    エクセルで外部ファイルの値を読み込みたいのですが、その際に読み込み先(シート)を関数を使って切り替えたいので、アドバイスをいただけないでしょうか。 検索で調べてみたらVBAを使う回答が多いのですが、VBAを使える人が周りにいない(私もそうです)ので、後々のメンテナンスを考えると関数を使って切り替えたいのです。 【環境】 WINDOWS XP エクセル2000 C:\AAA (CドライブにAAAというフォルダ) フォルダAAAには、BBBとCCCというエクセルファイルがあります CCCには、シート名1、2、3という3つのシートがあります。 【目標】 ファイルBBBのセルの値を操作すれば、読み込み先が変更されてBBBで表示される値が切り替わる。 【だめだった例】 BBBのセルA1にシート名を入れます。「1~3の数値」 同じくセルB1にパスを表示させます「="'C:\AAA\[CCC.xls]1"&A1&"'"」 ・・・後ろのA1が変化することで読み込み先が変わるはず。 同じくセルC1にCCCから読み込んだ値を表示させます。 「=INDIRECT($B$1&"!"&ADDRESS(ROW(F7),COLUMN(F7)))」  ・・・B1で表示された読み込み先のセルF7の値を表示するはず。 結果は「#REF!」になります。 CCCを同時に起動させると上手く読み込むので、リンクの問題なのでしょうか? なお関数を使わないでパスを記述したセルでは、CCCを起動させなくても上手く読み込んでくれます。 よろしくお願いします。 

  • エクセル IF関数 複数条件?

    いつもお世話になります IF関数で複数条件を記入する場合 現在は =IF(AND(A16="aaa",H16>=81),H16-80,IF(AND(A16="aaa",H16>=1),H16+80,IF(AND(A16="bbb",H16>=81),H16-80,IF(AND(A16="bbb",H16>=1),H16+80,H16)))) と やたらと長い条件設定になっています 結果は正しいのですが、もっとスッキリ出来る方法を教えて頂きたいのです。

  • Excelでのデータ集計/関数の組み合わせ等

    Excelでのデータ集計/関数の組み合わせ等 いつも、お世話になっております データ集計用に配列数式や関数を駆使しているのですが 思った通りの集計が出来ません。 以下のような集計方法を教えて頂けますでしょうか。 日付-ID-数 2010/7/1-AAA-5000     -BBB-3000     -CCC-0 2010/7/2-AAA-6000     -BBB-3000     -CCC-4000 …… 2010/8/1-AAA-4000 …… 1月単位でID毎に数が1以上あるレコードの数と その合計を取得したいのです。 ex1:2010/7/1-2010/7/31 AAA 31件 100000 ex2:2010/7/1-2010/7/31 CCC 30件  80000(7/1が0なので件数は1件減る) {=SUM(IF(MONTH(!$A$1:!$A$500)=1,1,0))}のような式では 日付の無いセルも参照している為、(ID:BBBの前には日付がない) 空白セルが1月と見なされてよけいな数字が入ってしまいます。 (1900/1/0と見なされている) YEAR関数も併用してみようと思いましたが上手く行きませんでした。 以上、よろしくお願い致します。

  • エクセル関数 非表示セルの集計をしないためには?

    どうしても、非表示にしたセル(行)が計算されます。計算式を教えてください(切実です) 例えば Aシートにはもとになる表  A      B     C     D 日付    品名   個数   金額 8/1(水)  aaa     1     1000 8/3(金)  bbb    2   1400 8/1(水)  aaa     2     2000(非表示セル) 8/1(水)  aaa      2     2000 8/3(金)  bbb    2    1400(非表示セル) Bシートには  A       B    日付     合計金額 8/1(水)    3000 8/2(木) 8/3(金)    1400 Bシートの合計金額を求める式がどうしてもうまくいきません。 SUMIFSやSUMPRODUCTなどいろいろ試したのですが、 どうしても非表示セルが計算されていまいます。 どなたか、教えてください。

  • エクセルの関数

     エクセルの一つのセルに、ある言葉(例えば、笑顔)と入力すれば、別のエクセルのシートにリンクして飛ぶようにしたいのですが、if関数など使ってできるでしょうか?  ただし、セルをクリックするのではなく、笑顔と入力するだけで飛ぶようにしたいのですが。

  • 関数を使ってデータの抽出

    win excel97を使用しています。 sheet1に下記のようなデータが3000件程度あります。   A       B      会社名   取引先会社名 2 aaa    ○○ 3 aaa    ■■ 4 bbb     △△ 5 bbb    ◆◆ 6 bbb     ●● 7 ccc    ×× sheet2のB~のセルに、sheet1の取引先会社名を列方向に 抽出させてたいのですがどうしたらよいでしょうか? マクロやVBAは苦手なので関数で教えていただきたいです。 sheet2   A      B        C       D 会社名 取引先会社名1  取引先会社名2 ・・・ 2 aaa   ○○      ■■      3 bbb   △△      ◆◆     ●●   4 ccc   ××      

  • エクセル関数について

    いつもお世話になります。 ”管理”と”リスト”というシートがあります。 ”管理”シートは A1    B1    C1・・・・・ 番号   名前   住所・・・・ と、情報が管理してあります。 ”リスト”シートのB3に番号を入力するセルを作りB11に =IF($B$3="","",VLOOKUP($B$3,注文管理!$A$3:$AE$9880,31)) という関数を入れて、”管理”シートの該当セルに記入があるなら B11に返すようにしています。B11に答えが返った場合、D4に「★備考あり★」と返したいのですが、 =IF(B11>1,"★備考あり★",IF(B11<1,"")) の関数を使うと、もともとB11には関数が入っているのでずっと「★備考あり★」のままです。 これを、B11に答えが返ってきた時のみ「★備考あり★」とする関数はありますか?

  • エクセル関数について

    エクセルの関数についてなのですが、例えば「セルA3」に「セルB2」の値を表示させるには「=(B2)」と「セルA3」に表示させてます。別のSheetの値も表示できるのでしょうか?例えば「Sheet1.Range("A3")」の値をSheet2のA1に表示させたい場合Sheet2のA1にはどのような関数を入力していけばよいのでしょうか?VBAは使わずに表示したいのですが。関数はまだほとんど使ったことがないので分かる人いたら教えてください。よろしくお願いします。

  • エクセル関数

    エクセル初心者です。 今練習用に、以下の画像、上段(シート1です)のような データベースを作成しました。 データベースは販売データで、右に基準月の セルを作っています。 ここで、このデータベースを基準月以前と以降で 関数を使ってシート2に分離させたいのです。 シート2のA2セルとE2のセルにどんな関数を いれればいいのでしょうか。 if関数だと、E2セルにうまく表示されませんでした。 お願いします。

専門家に質問してみよう