精华内容
下载资源
问答
  • Excel中IF函数条件写法

    千次阅读 2018-01-19 11:41:54
    excel在办公中运用比较多,但是用函数,特别是IF函数那是特别少。接到一个任务,需要输出毛利率,已知列有 进货价和毛重。需要根据不同价格区间 不同重量算出不同毛利率。具体如下表: 进货价 重量与毛利率...

    excel在办公中运用的比较多,但是用函数,特别是IF函数那是特别的少。接到一个任务,需要输出毛利率,已知的列有 进货价和毛重。需要根据不同价格区间 不同重量算出不同的毛利率。具体如下表:

    进货价 重量与毛利率的关系
    重量 小于等于重量的毛利率 大于重量的毛利率
    X <=150 500 20% 19%
    150 < X =<200 800 18% 17%
    200 < X =<250 900 16% 15%
    250 < X =<700 1000 14% 13%
    700 < X =<950 1100 12% 11%
    950 < X =<1023 1200 10% 9%
    1023 < X =<1920 1300 10% 8%
    1920 < X =<2366 1400 8% 7%
    2366 < X =<3500 1500 7% 4%
    3500 < X =<5000 1600 6% 4%
    5000 < X =<5800 1600 5% 4%
    5800 < X 不校验 4%
    拿到就霹雳吧啦的写下了一段IF函数

    =IF(A2<=150,IF(B2<=500,0.2,0.19),
    (IF(150<A2<200,IF(B2<800,0.18,0.17),(
    IF(200<A2<=250,IF(B2<900,0.16,0.15),(
    IF(250<A2<700,IF(B2<1000,0.14,0.13),(
    IF(700<A2<950,IF(B2<1100,0.12,0.11),(
    IF(950<A2<1023,IF(B2<1200,0.10,0.09),(
    IF(1023<A2<1920,IF(B2<1300,0.10,0.08),(
    IF(1920<A2<2366,IF(B2<1400,0.08,0.07),(
    IF(2366<A2<3500,IF(B2<1500,0.07,0.04),(
    IF(3500<A2<5000,IF(B2<1600,0.06,0.04),(
    IF(5000<A2<5800,IF(B2<1600,0.05,0.04),0.04)))))))))))))))))))))

    算出来的结果傻眼了。怎么价格大于150的毛利率都是0.04呢???

    深思一下原因,原来IF中的条件不能采用 5000<A2<5800 这种格式,正确的格式是"=AND(A2>50,A2<=500)"

    或者把上述的IF改写为:

    =IF(A2<=150,IF(B2<=500,0.2,0.19),
    (IF(A2<200,IF(B2<800,0.18,0.17),(
    IF(A2<=250,IF(B2<900,0.16,0.15),(
    IF(A2<700,IF(B2<1000,0.14,0.13),(
    IF(A2<950,IF(B2<1100,0.12,0.11),(
    IF(A2<1023,IF(B2<1200,0.10,0.09),(
    IF(A2<1920,IF(B2<1300,0.10,0.08),(
    IF(A2<2366,IF(B2<1400,0.08,0.07),(
    IF(A2<3500,IF(B2<1500,0.07,0.04),(
    IF(A2<5000,IF(B2<1600,0.06,0.04),(
    IF(A2<5800,IF(B2<1600,0.05,0.04),0.04)))))))))))))))))))))

    也是可以的。

    展开全文
  • 递归函数的写法

    2016-07-05 17:05:03
    1、使用arguments.callee,arguments.callee 是一个指向正在执行的函数的指针,可以用它来实现对函数的递归调用。 function factorial(num){ if(num){ return 1; }else{ return num*arguments.callee(num-1);

    1、使用arguments.callee,arguments.callee 是一个指向正在执行的函数的指针,可以用它来实现对函数的递归调用。

    function factorial(num){
          if(num<=1){
              return 1;
           }else{
              return num*arguments.callee(num-1);
           }
    }
    

    但是!在严格模式下,使用arguments.callee会导致错误。所以我们换第二种方法实现:


    2.创建一个命名函数表达式

    var factorial = (function f(num){
          if(num<=1){
             return 1;
          }
          else{
              return num*f(num-1);
          }
    })

    这样在严格和非严格模式下都行得通。
    展开全文
  • 范例如下:(来源网络)  ALTER FUNCTION fn_ab  (  @db VARCHAR(1)  )  RETURNS @r TABLE(col1 INT, ......) --定义返回表结构  AS ... IF (@db='1')  INSERT @r SELECT * FROM A  ...

    范例如下:(来源网络)

        ALTER FUNCTION fn_ab
        (
            @db VARCHAR(1)
        )
        RETURNS @r TABLE(col1 INT, ......) --定义返回的表结构
        AS
        BEGIN
            IF (@db='1')
                INSERT @r SELECT * FROM A
            IF (@db='2')
                INSERT @r SELECT * FROM B
            RETURN
        END
        GO

     

    ------------------------------------------------------------------
        [Python,SQL,ETL]交流群 164142295

    展开全文
  • #include"pch.h" #include<iostream> using namespace std; class A { public: A(int _X, int *_P) :x(_X),p(new int(*_P)) { cout << "构造函数" << endl;... if (this =...
    #include"pch.h"
    #include<iostream>
    
    using namespace std;
    class A
    {
    public:
    	A(int _X, int *_P) :x(_X),p(new int(*_P)) { cout << "构造函数" << endl; };
    	A(const A &a) 
    	{
    		if (this == &a)
    		{
    			cout << "左值——拷贝构造函数" << endl;
    			*this = a;
    		}
    		else
    		{
    			x = a.x;
    			delete p;
    			p = new int(*a.p);
    			cout << "左值——拷贝构造函数" << endl;
    		}
    		
    	}
    	A &operator=(const A &a)
    	{
    		if (this == &a)
    		{
    			cout << "自己赋值给自己" << endl;
    			return *this;
    		}
    		else
    		{
    			cout << "左值——赋值函数" << endl;
    			x = a.x;
    			*p = *a.p;//赋值的精髓——在于只赋值内容,不赋值指针;因为赋值的前提:是两个对象都已建立
    			return *this;
    		}
    
    	}
    
    
    	A(A &&a) //移动拷贝构造函数
    	{
    		x = a.x;
    		delete p;移动拷贝构造函数,
    		p = a.p;
    		a.p = nullptr;
    		cout << "右值——拷贝构造函数" << endl;
    	}
    	A &operator=(A &&a)//移动赋值函数
    	{
    		if (this == &a)
    		{
    			cout << "自己赋值给自己" << endl;
    			return *this;
    		}
    		else
    		{
    			cout << "右值——赋值函数" << endl;
    			x = a.x;
    			delete p;
    			p = a.p;
    			a.p = nullptr;
    			return *this;
    		}
    	}
    
    	~A()
    	{
    		delete p;
    		cout << "析构函数" << endl;
    	}
    	void show()
    	{
    		cout << "x=" << x << endl;
    		cout << "*p=" << *p << endl;
    		cout << "————————" << endl;
    	}
    
    private:
    	int x;
    	int *p;
    };
    void show_1(A &&a)
    {
    	a.show();
    }
    void show_1(A &a)
    {
    	a.show();
    }
    int  g= 3;
    int main()
    {
    	int x = 2;
    	int y = 111;
    	A a(10,&x);
    	A b(60,&y);
    
    	
    	A c = a;			//调用普通拷贝构造函数
    	A e(b);				//调用普通拷贝构造函数
    	c = c;				//调用左值赋值函数
    	A d = std::move(a); //调用移动拷贝构造函数
    	//移动拷贝构造函数,将a转移到d之后,对象a就失效了,这也是和普通的拷贝构造函数的区别;;
    	c = std::move(b);		//调用移动赋值函数
    	cout << "————————————" << endl;
    	//a.show();//这句会报错,因为
    	//b.show();
    	c.show();
    
    
    	show_1(std::move(a));
    	show_1(std::move(b));
    	show_1(std::move(c));
    	show_1(c);
    
    	//show_1(std::move(d));
    
    }
    
    
    展开全文
  • 什么是存储过程 ...函数的普遍特性:模块化,封装,代码复用; 速度快,只有首次执行需经过编译和优化步骤,后续被调用可以直接执行,省去以上步骤; MySQL存储过程的创建 语法 CREATE PROCEDURE sp_name (
  • 相信大家都会写并查集查找父亲的函数,然而今天下午,因为这个函数T了将近两个小时,期间换了各种姿势,都是T,最后才想到是查找函数出了问题,为什么呢,先来看看我开始写的函数: int find(int x) {  ...
  • makeQRCode:async function(id){ var url=“127.0.0.1/moviedetail.html?id=”+id+"&developid=3"; const response = await QRCode.toDataURL... { if(imgData) { //let file = this.convertBase64UrlToBlob(imgDat
  • js 回调函数的写法

    2016-11-22 16:37:36
    function a(msg,callback){ if(callback){ sok.onclick = function(){callback();} } } function b(){ a('测试',function(){ alert('****'); }) }
  • C++ 自定义二元谓词函数的写法

    千次阅读 2018-09-08 15:15:25
    方法 struct cmp { bool operator()(pair&amp;amp;amp;lt;int, int&amp;amp;amp;gt;&amp;amp;amp;amp; a, pair&amp;amp;amp;lt;... if (a.first == b.first) return a.sec
  • 应用层log函数的写法

    2014-08-19 11:57:32
    int my_log(const char *format,...) { va_list args; FILE *fp; fp = fopen("/tmp/my_log","a+"); if(!fp) { fprintf(stderr,"fp is NULL\n"); return -1;
  • 什么是存储过程 简单的说,就是一组SQL语句集,功能强大,可以实现一些比较复杂的...函数的普遍特性:模块化,封装,代码复用; 速度快,只有首次执行需经过编译和优化步骤,后续被调用可以直接执行,省去以上步骤;
  • Flex 中回调函数的写法

    千次阅读 2012-02-10 14:41:51
    回调参数用法:(用于一个窗体调用另一个窗体,并有参数返回) ... //定义关闭窗口后调用的函数   // 选择对象  protected function OnSelectObject(e:Event):void  {  if (callback !=null)  {
  • 在mysql中实现select复杂查询时候,是可以使用if()判断来加入查询条件 项目中使用sql查询时候 例如: 在项目连接数据库我们会需要给sql语句注入查询条件值 select 字段1,字段2 from 表 where 字段1 = ?1 ...
  • STM32 UART2 中断函数的写法

    千次阅读 2015-04-17 09:09:28
    void USART2_IRQHandler(void) ... if(USART_GetITStatus(USART2,USART_IT_RXNE)==SET) // 接收 中断  {  USART_ClearITPendingBit(USART2,USART_IT_RXNE); // U1RX_Clear_Intr_Status_Bit;
  • sql函数的写法和例子

    2008-08-12 15:17:00
    create function getUserName (@Name varchar(120)) returns varchar as begin declare @UserName varchar...if len(@Name)>12 Set @UserName=substring(@Name,1,12) return @UserName end go 转载于:ht...
  • strcmp函数的写法: #include #include int strcmp1(char* a, char* b) { for(;*a==*b;a++,b++) if(*a!='\0') return 0; return *a - *b; } main() { int l; char a[10]={"db"}; char b[10]={"cb"};
  • Python 斐波那契数列 三种函数写法比较1、斐波那契数列 函数写法2、上例总结3、递归总结 1、斐波那契数列 函数写法 import datetime def fib1(n=35): a = 0 b = 1 for i in range(n-1): a, b = b, a + b ...
  • 对于int类型数据使用qsort可以为: int a,b; int cmp(){  return a-b; } 而对于double类型 int a,b; if(a>b) return 1; if(a==b) return 0; else return -1; poj 2075 code #include #include #...
  • 创建一函数,用来判断一个数字@n是否为3位数,并且根据@type来返回这个3位数百位数或十位数或个位数 B:百位数 S:十位数 G:个位数 其他情况则返回0 比如uf1(234,'b')返回2 */ CREATE FUNCTION uf1(@n int...
  • 最近写程序经常需要在列表推导式中添加判断条件,有时候在lambda匿名函数中添加判断条件,或者有时候写程序写太长了,需要判断语句时候不想在写成多行了(显得很啰嗦),这些时候用了一下if elif else简化用法...
  • getElementsByClassName函数的兼容写法

    千次阅读 2016-01-10 11:22:14
    function getElementsByClassName(classname) { if(document.getElementsByClassName) { return document.getElementsByClassName(classname); } var eleArr = document.getElementsByTagName('
  • for (let i=0 ;i&lt;self.tooltipData.length;i++){//拿到数组去重   if (toolList.indexOf(self.tooltipData[i]) == -1) {  toolList.push(self.tooltipData[i]) ...
  • ## 闰年函数或循环的写法及思路 1 做为初学者首先要确定你的需求(也就是你要干什么),分析用那种比较简单易懂,可以使自己能够快速的理解其中的意思。 2.对于复杂的函数或循环要反复练习以便达到孰能生巧的目的...
  • 快速幂函数的递归写法

    千次阅读 2016-09-20 14:51:48
    long long power(long long a,long long n,long long Mod) { long long pow=1; long long p=a%Mod; while(n>0) { if(n&1) pow=(pow*p)%Mod; n>>=1; p=(p*p)%Mo

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,102
精华内容 440
关键字:

if函数的写法